由于本人出生贫寒,还未能领略Orcle,DB2等大哥哥,以前经常用ACCESS在学校中玩耍,后来就是SQL。对于ACCESS的连接字符串没什么变化,都是那么一句或许有其他的Provider;对于SQL我也经常用Visual Studio连接数据库,然后在服务器的属性中复制连接字符串,一直以来都没有对他的字符串真正认真过。现在由于要接触EnterpriseLibrary所以就从网上网罗了一下,把他总结下来,顺便可以巩固一下,从此不再模糊…
ConnectionString主要要认清他的几个关键字,这里也主要介绍一下他的光健字,他的将不在这里讲述:
Application Name: 应用程序的名称,如果不提供应用程序名称,默认为“.Net SqlClient Data Provider”。
AttachDBFilename/extended properties/Initial File Name: 可连接数据库的主文件的名称,包括完整的路径名, 必须使用关键字“database”来指定数据库的名称。
Connect Timeout/Connection Timeout: 在终止尝试连接并产生错误之前,等待与服务器的连接的时间长度(以秒为单位),默认为15。
Current Language: SQL Server 语言。
Data Source/Server/Address/Addr/Network Address: 要连接的 SQL Server 实例的名称或网络地址。
Encrypt: 当该值为 true 时,如果服务器端安装了证书,则 SQL Server 将对所有在客户端和服务器之间传送的数据使用 SSL 加密。可识别的值为 true、false、yes 和 no,默认值为false。
Initial Catalog/Database: 数据库的名称。
Integrated Security /Trusted_Connection: 当为 false 时,将在连接中指定用户 ID 和密码。当为 true 时,将使用当前的 Windows 帐户凭据进行身份验证。 可识别的值为 true、false、yes、no 以及与 true 等效的 SSPI(强烈推荐)。
Network Library/Net: 用于建立与 SQL Server 实例的连接的网络库。支持的值包括 dbnmpntw(命名管道)、dbmsrpcn(多协议)、dbmsadsn (Apple Talk)、dbmsgnet (VIA)、dbmslpcn(共享内存)及 dbmsspxn (IPX/SPX) 和 dbmssocn (TCP/IP)。 相应的网络 DLL 必须安装在要连接的系统上。如果不指定网络而使用一个本地服务器(比如“.”或“(local)”),则使用共享内存。
Packet Size: 用来与 SQL Server 的实例进行通讯的网络数据包的大小,以字节为单位,默认为8192。
Password/Pwd: SQL Server 帐户登录的密码(建议不要使用。为了维护最高级别的安全性,强烈建议改用 Integrated Security 或 Trusted_Connection 关键字)。
Persist Security Info: 当该值设置为 false 或 no(强烈推荐)时,如果连接是打开的或者一直处于打开状态,那么安全敏感信息(如密码)将不会作为连接的一部分返回。重置连接字符串将重置包括密码在内的所有连接字符串值。可识别的值为 true、false、yes 和 no,默认为false。
User ID: SQL Server 登录帐户(建议不要使用。为了维护最高级别的安全性,强烈建议改用 Integrated Security 或 Trusted_Connection 关键字)。
Workstation ID: 连接到 SQL Server 的工作站的名称,默认为本地计算机名称。
ConnectionString 内连接池值的有效名称:
Connection Lifetime: 当连接被返回到池时,将其创建时间与当前时间作比较,如果时间长度(以秒为单位)超出了由 Connection Lifetime 指定的值,该连接就会被销毁。这在聚集配置中很有用(用于强制执行运行中的服务器和刚置于联机状态的服务器之间的负载平衡)。 零 (0) 值将使池连接具有最大的连接超时,默认值为0。
Connection Reset: 确定从池中提取数据库连接时是否重置数据库连接。对于 Microsoft SQL Server 7.0 版,设置为 false 可避免获取连接时再有一次额外的服务器往返行程,但须注意此时并未重置连接状态(如数据库上下文),默认值为true。
Enlist: 当该值为 true 时,池程序在创建线程的当前事务上下文中自动登记连接。可识别的值为 true、false、yes 和 no,默认值为true。
Max Pool Size: 池中允许的最大连接数。
Min Pool Size: 池中允许的最小连接数。
Pooling: 当该值为 true 时,系统将从相应池中提取 SQLConnection 对象,或在必要时创建该对象并将其添加到相应池中。可识别的值为 true、false、yes 和 no,默认值为true。
以上搜集于MSDN,所有或更多的内容可以上MSDN看到,这里只是为了更容易自己的阅读和巩固知识所用,同时也希望对这个天天都要用但又不是真正知道所有应用的开发人员更直观的阅读。