• SQL Server 连接字符串的使用和属性介绍


           微SQL Server 2005SQL Server 2000在数据库访问上面是通用的,关键在于连接字符串的配置,其实这两种数据的接串是可以通用的,关键是数据器地址的问题SQL Server 20052000数据认访问端口不一200523172000的是1433。下面四个接串都可以访问2000
           1Server=myServerAddress; Database=DatabaseName; Uid=UserName; Pwd=Password;
           2Server=myServerAddress , 1433; Database=DatabaseName; Uid= UserName; Pwd=Password;
           3Data Source=myServerAddress; Initial Catalog=DatabaseName; User ID=UserName; pwd=Password;
           4Data Source=myServerAddress,1433; Initial Catalog=DatabaseName; User ID=UserName; pwd=Password;

          myServerAddress是数据器地址,当您只写地址不写端口的情况下他认访问的是1433端口,也就是sql server 2000的数据器。如果你想访问sql server 2005你就必加上访问端口(,2317)或者在后面添加(\SQLExpress),如下面
           1Server=myServerAddress,2317; Database=DatabaseName; Uid= UserName; Pwd=Password;
           2Server=myServerAddress\SQLExpress; Database=DatabaseName; Uid=UserName; Pwd=Password;
           3Data Source=myServerAddress,2317; Initial Catalog=DatabaseName; User ID=UserName; pwd=Password;
           4Data Source=myServerAddress\SQLExpress; Initial Catalog= DatabaseName; User ID=UserName; pwd=Password;

        通过对比你就会发现里面的关键部分就是端口, 只要端口了就任何问题,至于他访问形式和方法是完全一,因们虽然不是双胞胎但也是兄弟,沟通方式一,唯一的就是名字不一

        先看一个我在vb6中连接SQL Server 2000常用的一个连接字符串为"Provider= SQLOLEDB.1; Password=******; Persist Security Info=True; User ID=sa; Initial Catalog=master; Data Source = MyComputer"
       
    查了一下Provider(名词 n. 供应者;提供者;(家庭的)供养人)的意思大概是指定连接方式的版本,Provider=SQLOLEDB.1 :打开数据库用oledb的方式连接。

        下面看看在.NET中如何应用上面的连接字符串,已经详细连接字符串可选项的解释。.NET SQL Server接字符串句法。
       
    例化或者建立期,数据库连接字符串通属性或方法被传递到必要的象。接字符串的格式是一个以分号界。引用内容A中包括了一个C#中的例子,明了怎SqlConnection象的方法接到SQL Server实际接字符串是通过对象的ConnectionString属性分配的)。引用内容B中包括的是VB.NET的版本。

       引用内容A: 
    string cString = "Data Source=server;Initial Catalog=db;User ID=test;Password=test;";
    SqlConnectionconn = new SqlConnection();
    conn.ConnectionString = cString;
    conn.Open(); 

    引用内容B
    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(密)等元素一起,还有下面选项都是可用的:
    1.   * Application Name用程序名称):用程序的名称。如果没有被指定的,它的值为.NET SqlClient Data Provider(数据提供程序)
    2.   * AttachDBFilenameextended properties展属性)/Initial File Name(初始文件名):可接数据的主要文件的名称,包括完整路径名称。数据名称必关键字数据指定。
    3.   * Connect Timeout接超)/Connection Timeout接超):一个到服器的接在止之前等待的时间长度(以秒),缺省值为15。 
    4.   * Connection Lifetime接生存时间):当一个接被返回到接池,它的时间会与当前时间进比。如果时间跨度超接的有效期的接就被取消。其缺省值为0
    5.   * Connection Reset接重置):表示一个接在从接池中被移除是否被重置。一个的有效在得一个接的候就无需再行一个外的服器来回运作,其缺省值为真。 
    6.   * Current Language(当前言):SQL Server记录的名称。
    7.   * Data Source(数据源)/Server(服器)/Address(地址)/Addr(地址)/Network Address(网地址):SQL Server例的名称或网地址。 
    8.   * Encrypt(加密):当值为,如果服器安装了授权证书SQL Server就会所有在客和服器之间传输的数据使用SSL加密。被接受的true(真)、false)、yes(是)和no(否)。 
    9.   * Enlist(登):表示接池程序是否会自记创线程的当前事务语境中的接,其缺省值为真。 
    10.  * Database(数据)/Initial Catalog(初始目):数据的名称。 
    11.  * Integrated Security(集成安全)/Trusted Connection(受信接):表示Windows认证是否被用来接数据它可以被置成真、或者是和真等的sspi,其缺省值为伪 
    12.  * Max Pool Size接池的最大容量):接池允接数的最大,其缺省值为100。 
    13.  * Min Pool Size接池的最小容量):接池允接数的最小,其缺省值为0。 
    14.  * Network Library(网络库)/Net(网):用来建立到一个SQL Server例的接的网络库。支持的包括: dbnmpntw (Named Pipes)dbmsrpcn (MultiprotocolRPC)dbmsvinn(Banyan Vines)dbmsspxn (IPXSPX)dbmssocn (TCPIP)协议动态链被安装到适当的接,其缺省值为TCPIP。 
    15.  * Packet Size(数据包大小):用来和数据通信的网数据包的大小。其缺省值为8192
    16.  * User ID(用ID):用来登数据帐户名。
    17.  * Password(密)/Pwd:与帐户名相对应的密 
    18.  * Persist Security Info(保持安全信息):用来确定一旦接建立了以后安全信息是否可用。如果值为真的明像用名和密码这样对安全性比敏感的数据可用,而如果值为伪则不可用。重置接字符串将重新配置包括密在内的所有接字符串的。其缺省值为伪 
    19.  * Pooling(池):确定是否使用接池。如果值为真的接就要从适当的接池中得,或者,如果需要的接将被建,然后被加入合适的接池中。其缺省值为真。  
    20.  * Workstation ID(工作站ID):接到SQL Server的工作站的名称。其缺省值为本地算机的名称。

    下面是一个例子, VB.NET 2010 中中连接SQL Server 2008版本时用到的连接字符串为:Data Source=MyComputer\SQLEXPRESS; Database=master; Integrated Security= False; User ID=sa; Password=******;User Instance=False; Connect Timeout=30。以Sql身份验证模式,用名为“sa”、密码为“******”的用户信息,去登录“MyComputer \SQLEXPRESS”这台Sql服务器中的“master”数据库,连接超时设置为30秒。

         sql连接语句中的Integrated Security=SSPI/true/false的补充解释:1Integrated SecurityTrue 候,句前面的 UserID, PW 是不起作用的,即采用windows身份验证模式2只有 False 或省略该项候,才按照 UserID, PW 接,即Sql身份验证模式登录数据库;3Integrated Security=SSPI解决方法即:Security Support Provider InterfaceSSPI相当于 True,建个代替 True

         Integrated Security=SSPI 个表示以当前WINDOWS身去登SQL SERVER器,如果SQL SERVER器不支持这种方式登录时,就会出

         在与 SQL Server 建立与网的或特定于例的错误。未找到或无法访问器。请验证实例名称是否正确并且 SQL Server 已配置许远接。 (provider: 命名管道提供程序, error: 40 - 无法打 SQL Server )

         下面的接字符串用一个受信接和指定的登陆证书(不及管理空缺安全),在Test\Dev1器上与Northwind数据建立接:引用内容: Server=Test\Dev1; Database=Northwind; User ID=sa; Password=******; Trusted_Connection=True; 

         下一个接字符串使用了TCIPIP 和一个指定的IP地址:引用内容: Data Source=192.162.1.100,1433; Network Library=DBMSSOCN; Initial Catalog=Northwind; User ID=sa; Password=******;

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

          ADO.NET 2.0为每一个.NET框架的数据提供程序引了新的接字符串生成器。关键词属性被列出,使得接字符串句法在提交到数据源之前就生效。也有新的可以使接字符串在配置文件中的存简单,并且用受保的方式将它加密。 
          
    .NET用程序接到SQL Server特定的接参数和其他选项提供了多种选择。它可以像指定数据、服器和登凭据那样简单,也可能像接池和安全选项样复杂 ADO.NET 2.0的确通数据库类使得接字符串选项具有了更大的灵活性。你只需使用用程序所需要的选项,不必理会其他的。而且,如果你发现自己身陷困境,不得接字符串句法

  • 相关阅读:
    python json模块(15)
    python random模块(14)
    python time模块(13)
    python sys模块(12)
    python zip函数(11)
    python递归函数(10)
    python 浅拷贝和深拷贝(9)
    python is 和 == 区别(8)
    python 可变数据类型和不可变数据类型(7)
    python局部变量和全局变量(6)
  • 原文地址:https://www.cnblogs.com/bdzwater/p/2567786.html
Copyright © 2020-2023  润新知