认识连接字符串
在连接到数据库或者数据库文件的时候,程序需要调用AOD或者ADO.NET中的封装的数据提供程序,而连接字符串中包含了这些数据提供程序所需要的各种必要的信息。连接字符中包含的典型信息包括数据库的名称,服务器的位置和用户身份;他还可以指定其他更多的可操作信息,诸如连接超时和连接池设置。连接字符串使用一系列的键值对来存储信息,每个键值对用分号隔开。
连接字符串的关键字
ApplicationName:客户端应用程序的名称。
Aync:启动异步操作支持。
AttachDBFileName或Initial FileName:一个可连接的数据库文件使用的完整路径名。
Connection Timeout:等待连接发生的秒数。
Current Language:SQL Server语言的名称。
Database 或 Initial Catalog:要连接的数据库的名称。
Encrypt:指明是否应当对客户和服务器之间发送所有数据使用安全套接字层(SSL)加密。需要在服务器上安装一个证书。默认为False。
Failover Partner:出错时要访问的伙伴服务器名称。
Integrated Security 或 Trusted_Connection:指明当前的Windows账户凭据是否用于身份验证。
MultipleActiveResultSets:表示一个应用程序是否可以维护多个活动结果集。
Network Library 或 Net:指明用来建立于SQL Server 的链接的网络库。默认为dbmssocn,他是基于TCP/IP的。
Packet Size:指明数据包交换的字节数。默认为8192.
PassWord 或 pwd:正在登陆的账户的密码。
Persist Security Info:指明托管提供程序是否在作为连接字符串返回的字符串中包括密码信息。默认为False。
Server 或 DataSource:要连接的SQL Server 实例的名称或网址。
User ID 或 uid:正在登陆的账户的用户名。
Workstation ID:连接到SQL Server 的机器的名称。
连接字符串的一些规定
1.不带引号和没有意义的空格都将被忽略
2.空格将会影响连接池机制,池中的字符串应该有相同的格式
3.如果分号(;)是键值对值的一部分应该用引号引用
4.如果值是以单引号开始的,则使用双引号,反之,如果值是以双引号开始,则使用单引号
5.换码序列(escape sequences)是不被支持的
6.值的类型无关紧要
7.字符串中的名称是不区分大小写的
8.如果一个键值对出现多次,则字符串采用最后出现的键值对的值
9.如果键中包含一个等号(=),那么他必须在前面等号前面加由一个额外的等号来表明他是键中的一部分。
10.字符串中出现\需要使用转义字符\来修饰
创建连接字符串
你可以直接手动写一个固定连接字符串,但是如果让客户自己来写合适的连接字符串那最好用ADO.NET2.0中的SqlConnectionStringBulider类来写。使用字符串的builder,极大的增强了安全性,减少了用户插入的不期望的数据的机会,通过Bulider向外界提供字符串中的关键字。
view plaincopy to clipboardprint?
SqlConnectionStringBuilder bulider=new SqlConnncetionStringBuilder();
builder.DataSource=ServerName;
bulider.UserID=userid;
bulider.PassWord=pwd;
NewConnString.Text=builder.ConnectionString;
SqlConnectionStringBuilder bulider=new SqlConnncetionStringBuilder();
builder.DataSource=ServerName;
bulider.UserID=userid;
bulider.PassWord=pwd;
NewConnString.Text=builder.ConnectionString;
连接字符串的存储和检索
连接字符串一般都会存在配置文件web.config中的<appSettings>或<connectionStrings>命名节中。使用
view plaincopy to clipboardprint?
string constr;
constr=ConfigurationManager.ConnectionStrings["ConnectionStringName"].ConnectionString;
SqlConnection con=new SqlConnection(constr);
string constr;
constr=ConfigurationManager.ConnectionStrings["ConnectionStringName"].ConnectionString;
SqlConnection con=new SqlConnection(constr);
来获取配置文件中的连接字符串。