日期:2014-05-16  浏览次数:20667 次

sql server 数据库连接方式分析、详解

先画一张概况图

 

 *OLEDB方式连接

       Sql身份验证模式:Provider="SQLOLEDB;datasource=databasename;initial catalog=databasename;uid=username;pwd=password;" 

      Windows身份验证模式:ConnectString=”Provider=SQLOLEDB;Data Source=server_name;DataBase=databasename; Integrated Security=SSPI;Persist Security=true”

 

      注释:(此两种方式的却别仅在于windows验证中用Integrated Security=SSPI代替了sql验证中的uid=username;pwd=password语句(即指明用户名、密码语句)

    1.Provider=SQLOLEDB:提供者为SQLOLEDB(此为固定)

    2.Integrated Security=SSPI

    集成安全机制采用SSPI
    SSPI
是Security Support Provider Interface(Microsoft安全支持提供器接口)SSPI是定义得较全面的公用API,用来获得验证、信息完整性、信息隐私等集成安全服务,以  及用于所有分布式应用程序协议的安全方面的服务。

    设置Integrated Security为 True 的时候,采用windows身份验证模式。只有设置为 False 或省略该项的时候,采用 UserID, PWD 来连接。Integrated Security 可以设置为: True, false, yes, no ,还可以设置为:sspi ,相当于 True,建议用这个代替 True。

    3.Persist Security Info:坚持安全信息

    Persist Security Info属性的意思是表示是否保存安全信息,其实可以简单的理解为"ADO在数据库连接成功后是否保存密码信息",True表示保存,False表示不保存.ADO缺省为False(即可有可无).总体来说,如果数据库连接成功后不再需要连接的密码,出于安全性考虑,还是建议将Persist Security Info设为false,以防止后门程序取得数据库连接的密码.

    4.initial catalog等同于database(可以互换):指定连接数据库的名字(如果省略则连接的是当前用户名的默认数据库,详情见下文)

    5.DATA SOURCE是SQL服务器的名字
在data source里用localhost或(local)或“.”都代表本地服务器. 也可用本机的外网IP地址 例如:data source=192.168.24.71;

 *ODBC方式连接