`

数据库连接字符串整理

阅读更多

MSDN中文版中,阿很多不该翻译的翻译了,或者翻译的有问题。我在参阅英文版MSDN和中文版MSDN基础上,跟据自己的经验,把数据库连接字符串整理了一下,具体如下:

英文版可以看以下地址:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemDataSqlClientSqlConnectionClassConnectionStringTopic.asp

SqlConnection.ConnectionString 属性

ConnectionString 类似于 OLE DB 连接字符串,但并不相同。与 OLE DB 或 ADO 不同,如果“Persist Security Info ”值设置为 false(默认值),则返回的连接字符串与用户设置的 ConnectionString 相同但去除了安全信息。除非将“Persist Security Info ”设置为 true,否则,SQL Server .NET Framework 数据提供程序将不会保持,也不会返回连接字符串中的密码。

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

"Persist Security Info=False;Integrated Security=SSPI;database=northwind;server=mySQLServer"

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

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

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

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

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

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

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

"key==word=value"

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

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

关键字不区分大小写。

下表列出了 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 'false' 当该值为 true 时,如果服务器端安装了证书,则 SQL Server 将对所有在客户端和服务器之间传送的数据使用 SSL 加密。可识别的值为 truefalseyesno

Initial Catalog
- 或 -
Database

数据库的名称。

Integrated Security
- 或 -
Trusted_Connection

'false' 当为 false 时,将在连接中指定用户 ID 和密码。当为 true 时,将使用当前的 Windows 帐户凭据进行身份验证。

可识别的值为 truefalseyesno 以及与 true 等效的 sspi(强烈推荐)。

Network Library
- 或 -
Net

'dbmssocn' 用于建立与 SQL Server 实例的连接的网络库。支持的值包括 dbnmpntw(命名管道)、dbmsrpcn(多协议)、dbmsadsn (Apple Talk)、dbmsgnet (VIA)、dbmslpcn(共享内存)及 dbmsspxn (IPX/SPX) 和 dbmssocn (TCP/IP)。

相应的网络 DLL 必须安装在要连接的系统上。如果不指定网络而使用一个本地服务器(比如“.”或“(local)”),则使用共享内存。

Packet Size 8192 用来与 SQL Server 的实例进行通讯的网络数据包的大小,以字节为单位。

Password
- 或 -
Pwd

SQL Server 帐户登录的密码(建议不要使用。为了维护最高级别的安全性,强烈建议改用 Integrated Security 或 Trusted_Connection 关键字)。
Persist Security Info 'false' 当该值设置为 falseno(强烈推荐)时,如果连接是打开的或者一直处于打开状态,那么安全敏感信息(如密码)将不会作为连接的一部分返回。重置连接字符串将重置包括密码在内的所有连接字符串值。可识别的值为 truefalseyesno
User ID SQL Server 登录帐户(建议不要使用。为了维护最高级别的安全性,强烈建议改用 Integrated Security 或 Trusted_Connection 关键字)。
Workstation ID 本地计算机名称 连接到 SQL Server 的工作站的名称。

下表列出了 ConnectionString 内连接池值的有效名称。有关连接池的更多信息,请参见 SQL Server .NET Framework 数据提供程序连接池。

名称 默认值 说明
Connection Lifetime 0 当连接被返回到池时,将其创建时间与当前时间作比较,如果时间长度(以秒为单位)超出了由 Connection Lifetime 指定的值,该连接就会被销毁。这在聚集配置中很有用(用于强制执行运行中的服务器和刚置于联机状态的服务器之间的负载平衡)。

零 (0) 值将使池连接具有最大的连接超时。

Connection Reset 'true' 确定从池中提取数据库连接时是否重置数据库连接。对于 Microsoft SQL Server 7.0 版,设置为 false 可避免获取连接时再有一次额外的服务器往返行程,但须注意此时并未重置连接状态(如数据库上下文)。
Enlist 'true' 当该值为 true 时,池程序在创建线程的当前事务上下文中自动登记连接。可识别的值为 truefalseyesno
Max Pool Size 100 池中允许的最大连接数。
Min Pool Size 0 池中允许的最小连接数。
Pooling 'true' 当该值为 true 时,系统将从相应池中提取 SQLConnection 对象,或在必要时创建该对象并将其添加到相应池中。可识别的值为 truefalseyesno

当设置需要布尔值的关键字或连接池值时,您可以使用 'yes' 代替 'true','no' 代替 'false'。整数值表示为字符串。

注意SQL Server .NET Framework 数据提供程序使用它自己的协议与 SQL Server 进行通信。因此,当连接到 SQL Server 时,它不支持 ODBC 数据源名称 (DSN) 的使用,因为它不添加 ODBC 层。 警告 在此版本中,在应用程序中根据用户输入构造连接字符串时(例如,从对话框中检索用户 ID 和密码信息并将其追加到连接字符串时)应相当谨慎。应用程序应确保用户无法在这些值中嵌入额外的连接字符串参数(例如,输入 “validpassword;database=somedb”作为密码,以试图连接到其他数据库)。

示例

下面的示例创建一个 SqlConnection并设置它的一些属性。

 Public Sub CreateSqlConnection()    Dim myConnection As New SqlConnection()    myConnection.ConnectionString = 
"Persist Security Info=False;Integrated Security=SSPI;
database=northwind;server=mySQLServer;Connect Timeout=30" myConnection.Open()End Sub 'CreateSqlConnection

 public void CreateSqlConnection()  {    SqlConnection myConnection = new SqlConnection();    myConnection.ConnectionString = 
"Persist Security Info=False;Integrated Security=SSPI;
database=northwind;server=mySQLServer;Connect Timeout=30"; myConnection.Open(); }
分享到:
评论

相关推荐

    数据库连接字符串整理文本

    整理的数据库连接字符串,sqlserver oracle mysql 都有

    各种数据库连接字符串

    各种数据库的各种情况的连接字符串,是本人精神收集整理的

    数据库的JAR包,以及连接字符串

    oracle sql msql jarb包和连接字符整理

    sqlserver,sqlite,access数据库链接字符串整理

    本节主要整理sqlserver,sqlite,access数据库链接字符串,有需要的朋友可以参考下

    C#连接数据库(SQL Server,MySQL,Microsoft Access,DB2,Oracle)连接字符串.txt

    那么,我们今天就来总结整理一下C#/.NET的连接各类主流数据库(SQL Server,MySQL,Microsoft Access,DB2,Oracle)的连接字符串。 一、C#/.NET连接Microsoft SQL Server 1. 使用ODBC数据库连接 // ODBC标准连接 ...

    SQLServer 2005数据库连接字符串 连接sql2005必备资料

    现在好多朋友开始用sqlserver 2005了,因为跟sql2000有区别,所以这里整理了下,需要的朋友可以参考下。

    C#开源工具类(字符串处理加密、邮件、图片处理 数据库连接等)

    数据库连接处理:DbHelperSQL Excel连接等,图片处理:压缩,水印,等比缩放,HTTP处理:下载HTML源码,字符串处理:加密,字符串长度控制,时间格式化输出,邮件发送,JavaScript:ASp.net后台生成JS代码等 工作几年以来...

    实体类生成器(V2)

    Access数据库连接字符串的各种形式的拼写. 2.对Access数据库的相关概念,机制原理的理解. 3.Oracle数据库连接字符串的各种形式的拼写. 4.对内部代码的优化及得失分析. 5.对系统结构的整理及得失分析. *6.处理...

    GDI+绘图综合整理源码 GMGDIShape.rar

    一、源码描述 这是一款使用GDI+绘制不同种类形状的图形源码,代码比较实用,比较适合 新手学习交流使用,感兴趣的可以下载研究一下哦。 二、功能介绍 ... 2、默认数据库连接字符串在My_Sql.cs文件中修改。

    VFP的连接ODBC和OLEDB(2018年整理亲测)

    VFP太老的数据库了, 没有ADO的方式连接, EF更是不支持了, 只能通过ODBC和OLEDB。 连接驱动、VFP连接字符串请看请看附件的说明。2018年整理亲测可用。

    Sub在线考试系统源码

    从http://www.51aspx.com/codepics/SubExamineMS 中整理来的 一、源码描述 一款比较美观的在线考试系统,功能比较完整,可以用作... 3、默认数据库连接字符串在webconfig配置文件中修改。 4、该源码仅供学习交流。

    MySQL面试题附答案根据我的面试经验整理

    MySQL面试题附答案根据我的面试经验整理 创建数据库: create database db_...MySQL中 SELECT 命令类似于其他编程语言里的 print 或者 write,你可以用它来显示一个字符串、数字、数学表达式的结果等等。如何使用 MySQL

    javase常用代码整理

    某前辈积累的代码整理,包括字符串解析 数据库连接 正则 访问xml 还有些小算法等

    ASP.Net呼叫中心客服系统源码.zip

    一、源码描述 呼叫中心系统利用传统... 3、默认数据库连接字符串在webconfig配置文件中修改。 4、该源码可以用作二次开发或者学习交流使用,不可用于商业。 5、有关该源码的具体使用情况请参照源码里面的说明文档。

    呼叫中心asp.net

    一、源码描述 呼叫中心系统利用传统... 3、默认数据库连接字符串在webconfig配置文件中修改。 4、该源码可以用作二次开发或者学习交流使用,不可用于商业。 5、有关该源码的具体使用情况请参照源码里面的说明文档。

    启灵通呼叫中心客服系统源码.rar

    一、源码描述 呼叫中心系统利用传统企业呼叫中心... 3、默认数据库连接字符串在webconfig配置文件中修改。 4、该源码可以用作二次开发或者学习交流使用。 5、有关该源码的具体使用情况请参照源码里面的说明文档。

    AspxCn无刷新整合型网站开源框架(VS2005+SQL2005)

    2.修改Aspxcn.Web目录下Web.config中的LocalSqlServer数据库连接字符串! 3.打开aspxcn.sln编译项目并浏览aspxcn.web/default.aspx即可! 框架说明: 1.管理权限用户名:admin 密码:admin 请在default.aspx首页登录即可...

    PHP和MySQL Web开发第4版pdf以及源码

    4.2.1 字符串的整理:chop()、ltrim()和trim() 4.2.2 格式化字符串以便显示 4.2.3 格式化字符串以便存储:addslashes()和stripslashes() 4.3 用字符串函数连接和分割字符串 4.3.1 使用函数explode()、implode()...

Global site tag (gtag.js) - Google Analytics