ADO.Net连接SQL Azure数据库详解

作者:袖梨 2022-06-25

ADO.Net连接SQL Azure数据库教程详解

  在.Net环境下,连接数据库最常用的方法是使用ADO.Net。在SQL Azure环境下,ADO.Net

可以继续使用,这样对于.Net环境下的开发者来说,不用学习新的知识与技能就可以很容易

的连接到SQL Azure数据库上,这也符合微软所一直在宣传的云计算战略,减少了单独学习云

应用开发的成本。

  要使用ADO.Net连接SQL Azure,有两种方法,一种是通过SQL Azure的门户管理页面提供

的连接字符串来连接;另一种方法是在程序里硬写,下面我们来介绍第二种方法。

  使用程序连接到SQL Azure,需要使用

System.Data.SqlClient.SqlConnectionStringBuilder类,实例代码如下:

 private string GetDbConnection()

  {

  SqlConnectionStringBuilder connBuilder =

  new SqlConnectionStringBuilder();

  string server = "unjikh4kim.database.windows.net";

  connBuilder.DataSource = server;

  connBuilder.InitialCatalog = "TestDB";

  connBuilder.Encrypt = true;

  connBuilder.TrustServerCertificate = true;

  connBuilder.UserID = "sqladmin";

  connBuilder.Password = "pass@word";

  return connBuilder.ToString();

  }

  使用连接字符串,执行SQL语句

  private void ExcuteSQL()

  {

  using (SqlConnection conn = new SqlConnection(GetDbConnection()))

  {

  using (SqlCommand command = conn.CreateCommand())

  {

  conn.Open();

  // 创建表

  command.CommandText =

  "CREATE TABLE MyTable1(Column1 int primary key clustered, " +

  "Column2 varchar(50), Column3 datetime)";

  command.ExecuteNonQuery();

  // 插入数据

  command.CommandText = String.Format

  ("INSERT INTO MyTable1 (Column1, Column2, Column3) " +

  "values ({0}, '{1}', '{2}')", 1, "TestData", DateTime.Now.ToString("s"));

  int rowsAdded = command.ExecuteNonQuery();

  DisplayResults(command);

  }

  }

  }


现在我们来看看这段代码干了些什么

1.首先,代码使用SqlConnectionStringBuilder对象来连接SQL Azure Database的master数

据库,然后以sampleDatabaseName字符串值为名来创建一个数据库

2.使用另一个SqlConnectionStringBuilder对象来连接到第一步创建的数据库

3.一旦连接上SQL Azure Database 里面刚创建的数据库,我们使用第二个

SqlConnectionStringBuilder来创建数据库表以及一些示例数据操作

4.最后,代码在数据修改前和修改后返回数据到控制台程序

如果大家想阅读连接SQL Azure的一些具体细节信息,可以参阅Connecting to a Data

Source (ADO.NET)


1.使用vs创建一个控制台程序

2.将上述代码中替换为SQL Azure Database 登录名,格式如

login@server,如果你需要了解更多有关账户的信息可以查阅Managing Databases and

Logins in SQL Azure一文。

3.替换为你的账户密码。

4.替换为你的SQL Azure 服务器名,如

servername.database.windows.net,与登陆格式‘@“符号后面部分应该是一样的。

5.即是你想用你的代码创建的数据库名(原来不存在的)。

受支持的Transact-SQL特性:
         常数
        数据限制
         数据光标
        数据库索引管理与索引重建
         本地数据库暂存表格
         保留字
         预存程序
         数据库统计管理
         数据库交易
         触发程序
         数据库表、数据表联结以及表格变量
         Transact-SQL语言元素,像是对数据库、表格、用户与登录等的建立、修改与删除
         用户定义函数
         查看表
未受支持的Transact-SQL特性:
         SQL CLR
         数据库文件配置
         数据库映射
         分布式查询
         分布式交易
         文件组群管理
         全局暂存表格
         稀疏数据与索引
         SQL Server组态选项
         SQL Server Service Broker
         系统表格
         追踪旗标。


注意点:

通过以上的例子,我们已经对连接SQL Azure有了一些基本认识,现在我们来讨论一下这之间

我们需要注意的一些小问题

为了避免遭受注入攻击,我们使用SqlConnectionStringBuilder类,这也是.net framework

框架自带的类
我们需要很好的保护我们的连接字符串信息,如果让别人知道了,他们可以使用我们的数据

并且进行篡改等等一切毁灭性的损失
由于我们与SQL Azure通信过程中,这之间不知道要经过多少个路由节点,为了保护我们的连

接字符串不被别人盗用,所以我们最好设置ADO.NET Encrypt 和 TrustServerCertificate

connection parameters,如代码所示将Encrypt = True,TrustServerCertificate = False

能够确保我们的连接字符串得到加密,任何在通信中间拦截的人获取了你的连接字符串也是

没有用的。

相关文章

精彩推荐