`

数据库连接字符串整理

阅读更多

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(); }
分享到:
评论

相关推荐

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

    ### 数据库连接字符串详解 #### 一、概述 在软件开发过程中,数据库连接字符串是连接应用程序与数据库管理系统之间的重要桥梁。本文将详细解读一个包含多种数据库类型(如 SQL Server、Oracle 和 MySQL)的连接...

    数据库连接字符串大全

    在《数据库连接字符串大全》这一资料中,愚公详细地整理了针对SQL Server的不同类型的连接字符串,包括通过ODBC、OLEDB以及.NET框架中的SqlConnection进行数据库连接的方式。以下是对这些连接字符串的深入解析: ##...

    数据库连接池 java 整理

    这里,`connection-test-query`用于验证连接是否有效,`jdbc-url`是Oracle数据库的连接字符串,包括主机名、端口、服务名,`username`和`password`是数据库的登录凭据。 在Java代码中,可以使用Spring Boot的`@...

    常用JDBC驱动与连接字符串整理.docx

    在实际应用中,我们需要选择合适的JDBC驱动并构造正确的连接字符串来建立与数据库的连接。以下是对不同数据库的JDBC驱动和连接字符串的详解: 1. MySQL: - 驱动类:`com.mysql.jdbc.Driver` - 连接字符串的基本...

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

    数据库链接字符串是连接到数据库系统的关键组成部分,它包含了用于建立数据库连接的所有必要信息。本文将详细介绍SQL Server、SQLite和Access数据库的链接字符串格式及其使用。 首先,我们来看SQL Server的链接字符...

    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标准连接 ...

    ODBC数据库连接技术资料整理

    4. **ODBC连接字符串** - 连接字符串包含了DSN、数据库、用户名和密码等信息,例如:"DSN=myDSN;UID=myUsername;PWD=myPassword"。 5. **ODBC在多数据库环境中的优势** - **平台无关性**:ODBC使得跨平台数据库...

    Access数据库连接(整理)

    通过`Java连接access数据库.doc`、`Java连接access数据库.txt`和`Access数据库连接(整理)`这些文档,你可以深入学习和理解如何在不同编程环境下建立Access数据库的连接,以及更高级的数据库操作技术,如事务处理、...

    sql 多行合并某一列字符串拼接的示例

    在SQL中,字符串拼接是指将多个字符串值连接成一个单一的字符串。不同的数据库系统提供了不同的函数或操作符来实现这一功能。例如,在SQL Server中,可以使用`+`操作符或`CONCAT()`函数;在MySQL中,主要使用`CONCAT...

    LabVIEW与数据库的连接[整理].pdf

    - DB Tools Open Connection:此VI用于建立与数据库的连接,需要提供正确的连接字符串或DSN(Data Source Name)。 - DB Tools Close Connection:关闭已建立的数据库连接,释放资源。 - DB Tools Insert Data:...

    力控与Oracle数据库的连接[整理].pdf

    进入力控DRAW中,建立SQL连接,点击确定,自动生成连接字符串。 四、在力控中创建新表和进行数据库操作 在力控中可以创建新表,使用SQL函数进行插入、查询、更新、删除等操作。力控的数据类型与Oracle数据类型的...

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

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

    Delphi连接SQL数据库的方法[整理].pdf

    总结来说,Delphi连接SQL Server的过程涉及启动数据库服务,放置和配置控件,以及设置连接字符串。理解这一过程对于任何使用Delphi进行数据库应用开发的开发者来说都是至关重要的,因为良好的数据库连接能力是构建...

    FB数据库资料整理

    2. **连接字符串**:配置数据库连接字符串,包含服务器地址、数据库路径、用户名和密码。 3. **建立连接**:使用`FbConnection`类创建数据库连接。 4. **执行SQL**:通过`FbCommand`执行SQL语句,如SELECT、INSERT、...

    JSP连接MySql/MS SQL Server/Oracle数据库连接方法[整理]

    连接MSSQL Server数据库的过程与连接MySQL类似,但需要注意的是,需要使用MSSQL Server对应的JDBC驱动程序,并且数据库连接字符串和驱动类名也会有所不同。 #### 准备工作 1. **下载MSSQL Server JDBC驱动**:可以...

    实体类生成器(V2)

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

    SQL数据库字典生成器(带源码)

    - 数据库连接字符串配置:在App.config文件中,用户需要提供正确的连接字符串以建立到目标数据库的连接。连接字符串的格式依赖于使用的数据库系统。 - Excel导出:生成的数据库字典通常是`.xls`格式,这需要对...

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

    连接字符串是连接数据库的关键,对于VFP,常见的连接字符串格式如下: - ODBC方式:DSN=你的DSN名称;UID=用户名;PWD=密码; - OLEDB方式:Provider=VFPOLEDB;Data Source=数据库文件路径;User ID=用户名;Password=...

    php常用函数列表 涉及很多好用的字符串函数

    37. **implode($glue, $pieces)**: 使用字符串$glue连接数组$pieces中的元素。 38. **join($glue, $pieces)**: 同implode。 39. **crc32($str)**: 返回CRC32校验值。 40. **strchr($haystack, $needle)**: 查找...

Global site tag (gtag.js) - Google Analytics