.NET SQL Server连接字符串句法

数据库的连接性已经发展成为应用程序开发的一个标准方面。数据库连接字符串现在已经成为每个项目的标准必备条件。我发现自己为了找到所需要的句法,经常要从另外一个应用程序中复制连接字符串或者进行一次搜索。这个在与SQL Server交互操作时更是如此,因为它有太多的连接字符串选项。现在就让我们来研究一下连接字符串的众多方面。

连接字符串

在对象实例化或者建立期间,数据库连接字符串通过属性或方法被传递到必要的对象。连接字符串的格式是一个以分号为界,划分键/值参数对的列表。列表A中包括了一个C#中的例子,说明了怎样用创建SqlConnection对象的方法连接到SQL Server(实际的连接字符串是通过对象的ConnectionString属性分配的)。列表B中包括的是VB.NET的版本。

引用内容:

string cString = "Data Source=server;Initial Catalog=db;User ID=test;Password=test;";

SqlConnectionconn = new SqlConnection();

conn.ConnectionString = cString;

conn.Open();

引用内容:

Dim cString As String

cString = "Data Source=server;Initial Catalog=db;User ID=test;Password=test;"

Dim conn As SqlConnection = New SqlConnection()

conn.ConnectionString = cString

conn.Open()

连接字符串会指定数据库服务器和数据库,以及访问数据库必需的用户名和密码。但是这种格式并不是对所有数据库交互都适用,它的确有许多可用的选项,其中很多选项都有同义词。和Data Source(数据源)、Initial Catalog(初始编目)、User ID(用户ID)、和Password(密码)等元素一起,下面这些选项都是可用的:

* Application Name(应用程序名称):应用程序的名称。如果没有被指定的话,它的值为.NET SqlClient Data Provider(数据提供程序).

* AttachDBFilename/extended properties(扩展属性)/Initial File Name(初始文件名):可连接数据库的主要文件的名称,包括完整路径名称。数据库名称必须用关键字数据库指定。

* Connect Timeout(连接超时)/Connection Timeout(连接超时):一个到服务器的连接在终止之前等待的时间长度(以秒计),缺省值为15。

* Connection Lifetime(连接生存时间):当一个连接被返回到连接池时,它的创建时间会与当前时间进行对比。如果这个时间跨度超过了连接的有效期的话,连接就被取消。其缺省值为0。

* Connection Reset(连接重置):表示一个连接在从连接池中被移除时是否被重置。一个伪的有效在获得一个连接的时候就无需再进行一个额外的服务器来回运作,其缺省值为真。

* Current Language(当前语言):SQL Server语言记录的名称。

* Data Source(数据源)/Server(服务器)/Address(地址)/Addr(地址)/Network Address(网络地址):SQL Server实例的名称或网络地址。

* Encrypt(加密):当值为真时,如果服务器安装了授权证书,SQL Server就会对所有在客户和服务器之间传输的数据使用SSL加密。被接受的值有true(真)、false(伪)、yes(是)和no(否)。

* Enlist(登记):表示连接池程序是否会自动登记创建线程的当前事务语境中的连接,其缺省值为真。

* Database(数据库)/Initial Catalog(初始编目):数据库的名称。

[b]* Integrated Security(集成安全)/Trusted Connection(受信连接):表示Windows认证是否被用来连接数据库。它可以被设置成真、伪或者是和真对等的sspi,其缺省值为伪。

* Max Pool Size(连接池的最大容量):连接池允许的连接数的最大值,其缺省值为100。

* Min Pool Size(连接池的最小容量):连接池允许的连接数的最小值,其缺省值为0。

* Network Library(网络库)/Net(网络):用来建立到一个SQL Server实例的连接的网络库。支持的值包括: dbnmpntw (Named Pipes)、dbmsrpcn (Multiprotocol/RPC)、dbmsvinn(Banyan Vines)、dbmsspxn (IPX/SPX)和dbmssocn (TCP/IP)。协议的动态链接库必须被安装到适当的连接,其缺省值为TCP/IP。

* Packet Size(数据包大小):用来和数据库通信的网络数据包的大小。其缺省值为8192。

* Password(密码)/Pwd:与帐户名相对应的密码。

* Persist Security Info(保持安全信息):用来确定一旦连接建立了以后安全信息是否可用。如果值为真的话,说明像用户名和密码这样对安全性比较敏感的数据可用,而如果值为伪则不可用。重置连接字符串将重新配置包括密码在内的所有连接字符串的值。其缺省值为伪。

* Pooling(池):确定是否使用连接池。如果值为真的话,连接就要从适当的连接池中获得,或者,如果需要的话,连接将被创建,然后被加入合适的连接池中。其缺省值为真。

* User ID(用户ID):用来登陆数据库的帐户名。

* Workstation ID(工作站ID):连接到SQL Server的工作站的名称。其缺省值为本地计算机的名称。

下面的连接字符串用一个受信连接和指定的登陆证书(不及管理员密码空缺安全),在Test\Dev1服务器上与Northwind数据库建立连接:  

引用内容:

Server=Test\Dev1;Database=Northwind;User ID=sa;

Password=;Trusted_Connection=True;

下一个连接字符串使用了TCIP/IP 和一个指定的IP地址:

引用内容:

Data Source=192.162.1.100,1433;Network Library=DBMSSOCN;

Initial Catalog=Northwind;User ID=sa;Password=;

所使用的选项可以很容易地包括在连接字符串中,但是它们还是取决于你的应用程序和它的要求。知道什么是可用的是很有好处的,这样你就可以恰当地使用它。

使用ADO.NET 2.0

ADO.NET 2.0为每一个.NET框架的数据提供程序引进了新的连接字符串生成器。关键词作为属性被列出,使得连接字符串句法在提交到数据源之前就生效。也还有新的类可以使连接字符串在配置文件中的存储和检索变得简单,并且用受保护的方式将它们加密。

或多或少,正是你需要的。

通过.NET应用程序连接到SQL Server为特定的连接参数和其他选项提供了多种选择。它可以像指定数据库、服务器和登录凭据那样简单,也可能像设置缓冲连接池和安全选项一样复杂。 ADO.NET 2.0的确通过数据库类使得连接字符串选项具有了更大的灵活性。你只需使用应用程序所需要的选项,不必理会其他的。而且,如果你发现自己身陷困境,记不得连接字符串句法了,可以查阅以下网址ConnectionStrings.com

.NET SQL Server连接字符串句法的更多相关文章

  1. [ASP.NET]SQL Server 连接字符串和身份验证

    SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开. PropertyName1=Value1; Property ...

  2. SQL Server 连接字符串和身份验证详解

    SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开.          PropertyName1=Value1; ...

  3. SQL Server 连接字符串和身份验证

    SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开.         PropertyName1=Value1;P ...

  4. Sql Server连接字符串

    SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开.          PropertyName1=Value1; ...

  5. SQL Server 连接字符串和身份验证 学习

    SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开.          PropertyName1=Value1; ...

  6. SQL SERVER连接字符串学习

    在使用connection string时遇到一些问题 字符串如下"Data Source= ******;Initial Catalog=******;Persist Security I ...

  7. sql server连接字符串与tcp/ip开启

    连接字符串1:Data Source=localhost,1433;User ID=sa;Password=123;Initial Catalog=test;Min Pool Size=1;Max P ...

  8. SQL Server 连接字符串总结

    这里记录的是c# 在vs中连接sql server数据库中的连接字符串的总结. 1.标准安全连接 Data Source = myServerAddress;Initial Catalog = myD ...

  9. SQL Server 连接字符串备忘

    今天把服务器上的远程访问关了,把连接字符串中的IP地址改成了.,然后就一直连不上.弄了半天,原来是本地连接时非默认实例,不能带端口号. 1.原来的连接服务器地址是:192.168.0.1SQL2005 ...

随机推荐

  1. compass的使用

    compass常用的一些命令 compass create 创建新Compass项目 compass init  为已存在项目添加compass compass clean 移动已生成的文件和缓存 c ...

  2. DataGrid简单数据绑定实例2

    1.Image列显示: 后台绑定: //获取文件夹下的图片 string path = @"K:\Picture\jpg"; private void Button_Click(o ...

  3. 在MVC中如何愉快使用Ajax

    前言: 这个故事要从我老大与客户谈需求开始说起.前几天,遇见一个逗比客户,不知道是听了哪个逗比程序员的临终遗言...让我们给他做一个手机端的Web应用出来,还说要使用MVC来做(不是App).马币,客 ...

  4. Swift - guard关键字(守护)

    guard语句和if语句有点类似,都是根据其关键字之后的表达式的布尔值决定下一步执行什么.但与if语句不同的是,guard语句只会有一个代码块,不像if语句可以if else多个代码块. 那么guar ...

  5. [c#]控制台进度条的示例

    看到[vb.net]控制台进度条的示例 感觉很好玩,翻译成C#版. using System; using System.Collections.Generic; using System.Linq; ...

  6. 织梦DEDECMS网站首页如何实现分页翻页

    织梦DEDECMS模板网站首页如何实现首页分页和翻页 方法如下:(三种方法,自己选择一种来实现分页吧) 第一种:调用ajax和参数的(不推荐)1.必须在DEDE首页模板中的<head>&l ...

  7. Go语言之异常处理

    在编写Go语言代码的时候,我们应该习惯使用error类型值来表明非正常的状态.作为惯用法,在Go语言标准库代码包中的很多函数和方法也会以返回error类型值来表明错误状态及其详细信息. error是一 ...

  8. 如何在webstrom中配置eslint和less

    webstrom 帮助文档(英文版) 1.在webstrom中使用ESLint规范代码格式: JSHint 可以帮助检测你的 JavaScript 代码中的错误和潜在的问题,而 eslint是一个 J ...

  9. python学习第七天 -- dict 和set

    今天主要学习关于python 的dict(全称dictionary)和set.dict的用法跟javascript 中map表类似,key + value结构语言.而set,准确来说,只是key的集合 ...

  10. Struts2学习笔记--Struts例子及开发流程

    参考资料:http://blog.csdn.net/hntyzgn2010/article/details/5547753 http://chenlh.iteye.com/blog/464341 入门 ...