1. 论坛系统升级为Xenforo,欢迎大家测试!
    排除公告

Microsoft SQL Server 2005 连接字符串

本帖由 不学无术2008-07-24 发布。版面名称:后端开发

  1. 不学无术

    不学无术 Ulysses 的元神

    注册:
    2005-08-31
    帖子:
    16,714
    赞:
    39
    昨天在测试程序的时候,出现 SQL 的连接错误。因为之前使用的是 Microsoft SQL Server 2000,现在测试用的是 Microsoft SQL Server 2005 ,所以第一反应感觉应该是连接字符串的改变。

    搜索“SQL Server 2005 连接字符串代码”,可以找到很多内容。

    因为之前使用的是 OLE DB 连接,所以依然使用这个。

    Microsoft SQL Server 2000 下的连接字符串为:
    Provider=SQLOLEDB;Data Source=server;Initial Catalog=database;User Id=user;Password=password;
    或者
    Provider=SQLOLEDB;Server=server;Database=database;Uid=user;Pwd=password;
    Microsoft SQL Server 2005 下的连接字符串为:
    Provider=SQLNCLI;Data Source=server;Initial Catalog=database;User Id=user;Password=password;
    或者
    Provider=SQLNCLI;Server=server;Database=database;Uid=user;Pwd=password;
    变化,就在于 Provider 后的内容。

    来源:http://home.54ol.com/space-1-do-blog-id-22.html
     
  2. 不学无术

    不学无术 Ulysses 的元神

    注册:
    2005-08-31
    帖子:
    16,714
    赞:
    39
    以下为网络转载的内容:


    SQL Native Client ODBC Driver

    标准安全连接

    Driver={SQL Native Client};Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;

    您是否在使用SQL Server 2005 Express? 请在“Server”选项使用连接表达式“主机名称\SQLEXPRESS”。

    受信的连接

    Driver={SQL Native Client};Server=myServerAddress;Database=myDataBase;Trusted_Connection=yes;

    "Integrated Security=SSPI" 与 "Trusted_Connection=yes" 是相同的。

    连接到一个SQL Server实例
    指定服务器实例的表达式和其他SQL Server的连接字符串相同。
    Driver={SQL Native Client};Server=myServerName\theInstanceName;Database=myDataBase;Trusted_Connection=yes;


    指定用户名和密码
    oConn.Properties("Prompt") = adPromptAlways
    Driver={SQL Native Client};Server=myServerAddress;Database=myDataBase;


    使用MARS (multiple active result sets)

    Driver={SQL Native Client};Server=myServerAddress;Database=myDataBase;Trusted_Connection=yes;MARS_Connection=yes;

    "MultipleActiveResultSets=true"与MARS_Connection=yes"是相同的。
    使用ADO.NET 2.0作为MARS的模块。 MARS不支持ADO.NET 1.0和ADO.NET 1.1。

    验证网络数据

    Driver={SQL Native Client};Server=myServerAddress;Database=myDataBase;Trusted_Connection=yes;Encrypt=yes;


    使用附加本地数据库文件的方式连接到本地SQL Server Express实例

    Driver={SQL Native Client};Server=.\SQLExpress;AttachDbFilename=c:\asd\qwe\mydbfile.mdf; Database=dbname;Trusted_Connection=Yes;

    为何要使用Database参数?如果同名的数据库已经被附加,那么SQL Server将不会重新附加。

    使用附加本地数据文件夹中的数据库文件的方式连接到本地SQL Server Express实例

    Driver={SQL Native Client};Server=.\SQLExpress;AttachDbFilename=|DataDirectory|mydbfile.mdf; Database=dbname;Trusted_Connection=Yes;

    为何要使用Database参数?如果同名的数据库已经被附加,那么SQL Server将不会重新附加。

    数据库镜像
    Data Source=myServerAddress;Failover Partner=myMirrorServer;Initial Catalog=myDataBase;Integrated Security=True;



    SQL Native Client OLE DB Provider

    标准连接

    Provider=SQLNCLI;Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;

    您是否在使用SQL Server 2005 Express? 请在“Server”选项使用连接表达式“主机名称\SQLEXPRESS”。

    受信的连接

    Provider=SQLNCLI;Server=myServerAddress;Database=myDataBase;Trusted_Connection=yes;
      "Integrated Security=SSPI"与"Trusted_Connection=yes"相同

    连接到SQL Server实例
    指定服务器实例的表达式和其他SQL Server的连接字符串相同。
    Provider=SQLNCLI;Server=myServerName\theInstanceName;Database=myDataBase;Trusted_Connection=yes;


    使用帐号和密码
    oConn.Properties("Prompt") = adPromptAlways
    oConn.Open "Provider=SQLNCLI;Server=myServerAddress;DataBase=myDataBase;


    使用MARS (multiple active result sets)

    Provider=SQLNCLI;Server=myServerAddress;Database=myDataBase;Trusted_Connection=yes;MarsConn=yes;

    "MultipleActiveResultSets=true"和"MARS_Connection=yes"是相同的。
    使用ADO.NET 2.0作为MARS的模块。 MARS不支持ADO.NET 1.0和ADO.NET 1.1。

    验证网络数据

    Provider=SQLNCLI;Server=myServerAddress;Database=myDataBase;Trusted_Connection=yes;Encrypt=yes;


    使用附加本地数据库文件的方式连接到本地SQL Server Express实例

    Provider=SQLNCLI;Server=.\SQLExpress;AttachDbFilename=c:\asd\qwe\mydbfile.mdf; Database=dbname;Trusted_Connection=Yes;

    为何要使用Database参数?如果同名的数据库已经被附加,那么SQL Server将不会重新附加。

    使用附加本地数据文件夹中的数据库文件的方式连接到本地SQL Server Express实例

    Provider=SQLNCLI;Server=.\SQLExpress;AttachDbFilename=|DataDirectory|mydbfile.mdf; Database=dbname;Trusted_Connection=Yes;

    为何要使用Database参数?如果同名的数据库已经被附加,那么SQL Server将不会重新附加。

    数据库镜像
    Data Source=myServerAddress;Failover Partner=myMirrorServer;Initial Catalog=myDataBase;Integrated Security=True;



    SqlConnection (.NET)

    标准连接

    Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;

    使用serverName\instanceName作为数据源可以指定SQL Server实例。
    您是否在使用SQL Server 2005 Express? 请在“Server”选项使用连接表达式“主机名称\SQLEXPRESS”。

    Standard Security alternative syntax
    Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;


    受信任的连接

    Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;


    Trusted Connection alternative syntax
    Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;


    连接到一个SQL Server的实例
    指定服务器实例的表达式和其他SQL Server的连接字符串相同。
      Server=myServerName\theInstanceName;Database=myDataBase;Trusted_Connection=True;


    来自WinCE设备的安全连接
    Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;User ID=myDomain\myUsername;Password=myPassword;

    仅能用于CE设备。

    带有IP地址的连接

    Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;



    使用MARS (multiple active result sets)

    Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;MultipleActiveResultSets=true;

    使用ADO.NET 2.0作为MARS的模块。 MARS不支持ADO.NET 1.0和ADO.NET 1.1。

    使用附加本地数据库文件的方式连接到本地SQL Server Express实例

    Server=.\SQLExpress;AttachDbFilename=c:\asd\qwe\mydbfile.mdf;Database=dbname;Trusted_Connection=Yes;

    为何要使用Database参数?如果同名的数据库已经被附加,那么SQL Server将不会重新附加。

    使用附加本地数据文件夹中的数据库文件的方式连接到本地SQL Server Express实例

    Server=.\SQLExpress;AttachDbFilename=|DataDirectory|mydbfile.mdf; Database=dbname;Trusted_Connection=Yes;

    为何要使用Database参数?如果同名的数据库已经被附加,那么SQL Server将不会重新附加。

    使用在SQL Server Express实例上的用户实例
    Data Source=.\SQLExpress;Integrated Security=true;AttachDbFilename=|DataDirectory|\mydb.mdf;User Instance=true;

    数据库镜像
    Data Source=myServerAddress;Failover Partner=myMirrorServer;Initial Catalog=myDataBase;Integrated Security=True;

    Asynchronous processing
    Server=myServerAddress;Database=myDataBase;Integrated Security=True;Asynchronous Processing=True;
     
  3. lastexile

    lastexile New Member

    注册:
    2005-11-26
    帖子:
    39
    赞:
    0
    没有机会使用sql2005, 在那里download ?
     
  4. webren

    webren New Member

    注册:
    2008-09-06
    帖子:
    2,934
    赞:
    0
    我感觉没有区别都一样的.
     
  5. Tameway

    Tameway New Member

    注册:
    2005-09-06
    帖子:
    1,286
    赞:
    8
    我还停留在SQL Server 2000的阶段