
用ADO.NET连接Microsoft SQL Azure Database 目前已经变得很容易,这篇文章提供一个示例控制台程序来描述怎么样连接到Azure 的数据库,中间还夹杂着几个我觉得连接Microsoft SQL Azure Database 的一些注意点。是SQL Azure基础知识级问题。呵呵,Azure达人可以绕过。
控制台程序示例:
1.用vs创建一个控制台程序
2.将上述代码中ProvideUserName替换为SQL Azure Database 登录名,格式如login@server,假如你需要知道更多有关账户的信息可以查阅Managing Databases and Logins in SQL Azure一文。
3.替换ProvidePassword为你的账户密码。
4.替换ProvideServerName为你的SQL Azure 服务器名,如servername.database.windows.net,与登陆格式‘@“符号后面部分应该是一样的。
5.ProvideDatabaseName即是你想用你的代码创建的数据库名(原来没有的)。
代码如下:using System;
using System.Collections.Generic;
using System.Linq;using System.Text;
using System.Data.SqlClient;using System.Data;
namespace Microsoft.SDS.Samples
{class Program
{// Provide the following information
privatestaticstring userName ="ProvideUserName";privatestaticstring password ="ProvidePassword";
privatestaticstring dataSource ="ProvideServerName";privatestaticstring sampleDatabaseName ="ProvideDatabaseName";
staticvoid Main
{// Create a connection string for the master database
SqlConnectionStringBuilder connString1Builder;connString1Builder =new SqlConnectionStringBuilder;
connString1Builder.DataSource = dataSource;connString1Builder.InitialCatalog ="master";
connString1Builder.Encrypt =true;connString1Builder.TrustServerCertificate =false;
connString1Builder.UserID = userName;connString1Builder.Password = password;
// Create a connection string for the sample database
SqlConnectionStringBuilder connString2Builder;connString2Builder =new SqlConnectionStringBuilder;
connString2Builder.DataSource = dataSource;connString2Builder.InitialCatalog = sampleDatabaseName;
connString2Builder.Encrypt =true;connString2Builder.TrustServerCertificate =false;
connString2Builder.UserID = userName;connString2Builder.Password = password;
// Connect to the master database and create the sample database
using )){
using ){
conn.Open;
// Create the sample database
string cmdText = String.Format;command.CommandText = cmdText;
command.ExecuteNonQuery;conn.Close;
}}
// Connect to the sample database and perform various operations
using )){
using ){
conn.Open; // Create a tablecommand.CommandText ="CREATE TABLE T1)";
command.ExecuteNonQuery; // Insert sample recordscommand.CommandText ="INSERT INTO T1 values , , ";
int rowsAdded = command.ExecuteNonQuery; // Query the table and print the resultscommand.CommandText ="SELECT * FROM T1";
using )
{// Loop over the results
while ){
Console.WriteLine.Trim,reader["Col2"].ToString.Trim);
}}
// Update a record
command.CommandText ="UPDATE T1 SET Col2='string 1111' WHERE Col1=1";command.ExecuteNonQuery;
// Delete a record
command.CommandText ="DELETE FROM T1 WHERE Col1=2";command.ExecuteNonQuery;
// Query the table and print the results
Console.WriteLine;
command.CommandText ="SELECT * FROM T1";
using )
{// Loop over the results
while ){
Console.WriteLine.Trim,reader["Col2"].ToString.Trim);
}}
conn.Close;
}}
Console.WriteLine;Console.ReadLine;
}}
}目前大家来看看这段代码干了些什么
1.第一,代码用SqlConnectionStringBuilder对象来连接SQL Azure Database的master数据库,然后以sampleDatabaseName字符串值为名来创建一个数据库
2.用另一个SqlConnectionStringBuilder对象来连接到第一步创建的数据库
3.一旦连接上SQL Azure Database 里面刚创建的数据库,大家用第二个SqlConnectionStringBuilder来创建数据库表与一些示例数据操作
4.最后,代码在数据修改前和修改后返回数据到控制台程序
假如大伙想阅读连接SQL Azure的一些具体细节信息,可以参阅Connecting to a Data Source
注意点:
通过以上的例子,大家已经对连接SQL Azure有了一些基本认识,目前大家来讨论一下这之间大家应该注意的一些小问题
为了防止遭受注入攻击,大家用SqlConnectionStringBuilder类,这也是.net framework框架自带的类
大家需要非常不错的保护大家的连接字符串信息,假如让其他人了解了,他们可以用大家的数据并且进行篡改等等所有毁灭性的损失
因为大家与SQL Azure通信过程中,这之间不了解要经过多少个路由节点,为了保护大家的连接字符串不被其他人盗用,所以大家最好设置ADO.NET Encrypt 和 TrustServerCertificate connection parameters,如代码所示将Encrypt = True,TrustServerCertificate = False可以确保大家的连接字符串得到加密,任何在通信中间拦截的人获得了你的连接字符串也是没用的。
TAG标签:Azure(1)
转载请说明来源于当快软件园(https://www.lrvxg.com)
本文地址:https://www.lrvxg.com/news/703.html
郑重声明:文章来源于网络作为参考,本站仅用于分享不存储任何下载资源,如果网站中图片和文字侵犯了您的版权,请联系我们处理!邮箱3450399331@qq.com
相关文章