您的位置:首页 > 数据库

SqlConnection.ConnectionString属性

2008-04-26 15:01 375 查看
ConnectionString类似于OLEDB连接字符串,但并不相同。与OLEDB或ADO不同,如果“PersistSecurityInfo”值设置为false(默认值),则返回的连接字符串与用户设置的ConnectionString相同但去除了信息。除非将“PersistSecurityInfo”设置为true,否则,数据提供程序将不会保持,也不会返回连接字符串中的密码。

可以使用ConnectionString属性连接到。下面的示例阐释了一个典型的连接字符串。

"PersistSecurityInfo=False;IntegratedSecurity=SSPI;database=northwind;server=mySQLServer"

只有在连接关闭时才能设置ConnectionString属性。许多连接字符串值都具有相应的只读属性。当设置连接字符串时,将更新所有这些属性(除非检测到错误)。检测到错误时,不会更新任何属性。SqlConnection属性只返回那些包含在ConnectionString中的设置。

若要连接到本地机器,请将服务器指定为“(local)”。(必须始终指定一个服务器。)

重置已关闭连接上的ConnectionString会重置包括密码在内的所有连接字符串值(和相关属性)。例如,如果设置一个连接字符串,其中包含“Database=northwind”,然后再将该连接字符串重置为“DataSource=myserver;IntegratedSecurity=SSPI”,则Database属性将不再设置为Northwind。

在设置后会立即分析连接字符串。如果在分析时发现语法中有错误,则产生运行库异常,如ArgumentException。只有当试图打开连接时,才会发现其他错误。

连接字符串的基本格式包括一系列由分号分隔的关键字/值对。等号(=)连接各个关键字及其值。若要包括含有分号、单引号字符或双引号字符的值,则该值必须用双引号括起来。如果该值同时包含分号和双引号字符,则该值可以用单引号括起来。如果该值以双引号字符开始,则还可以使用单引号。相反地,如果该值以单引号开始,则可以使用双引号。如果该值同时包含单引号和双引号字符,则用于将值括起来的引号字符每次出现时,都必须成对出现。

若要在字符串值中包括前导或尾随空格,则该值必须用单引号或双引号括起来。即使将整数、布尔值或枚举值用引号括起来,其周围的任何前导或尾随空格也将被忽略。然而,保留字符串关键字或值内的空格。使用.NETFramework1.1版时,在连接字符串中可以使用单引号或双引号而不用使用分隔符(例如,DataSource=my'Server或DataSource=my"Server),但引号字符不可以为值的第一个或最后一个字符。

若要在关键字或值中包括等号(=),则它之前必须还有另一个等号。例如,在假设的连接字符串中,

"key==word=value"

关键字是“key=word”并且值是“value”。

如果“keyword=value”对中的一个特定关键字多次出现在连接字符串中,则将所列出的最后一个用于值集。

关键字不区分大小写。

下表列出了ConnectionString中的关键字值的有效名称。

名称默认值说明ApplicationName 应用程序的名称,如果不提供应用程序名称,默认是:“.NetSqlClientDataProvider”AttachDBFilename-或-extendedproperties-或-InitialFileName 可连接数据库的主文件的名称,包括完整的路径名。
必须使用关键字“database”来指定数据库的名称。

ConnectTimeout-或-ConnectionTimeout
15在终止尝试连接并产生错误之前,等待与服务器的连接的时间长度(以秒为单位)。CurrentLanguage SQLServer语言
DataSource-或-Server-或-Address-或-Addr-或-NetworkAddress
要连接的SQLServer实例的名称或网络地址。Encrypt'false'当该值为true时,如果服务器端安装了证书,则SQLServer将对所有在客户端和服务器之间传送的数据使用SSL加密。可识别的值为true、false、yes和no。上一页
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: