数据库的连接——“OLEDB与ODBC”

来源:互联网 发布:网络金庸群侠传 编辑:程序博客网 时间:2024/05/21 22:43

    一开始接触数据库,对于OLEDB和ODBC的关系比较模糊,理解不是很深刻。下面我们先来看看他们的关系。

    ODBC(开放数据库互连):Microsoft引进的一种早期数据库接口技术。它实际上是ADO的前身。早期的数据库连接是非常困难的.每个数据库的格式都不一样,开发者得对他们所开发的每种数据库的底层API有深刻的了解.因此,能处理各种各样数据库的通用的API就应运而生了.也就是现在的ODBC(Open DatabaseConnectivity), ODBC是人们在创建通用API的早期产物.有许多种数据库遵从了这种标准,被称为ODBC兼容的数据库. 

    OLEDB(对象链接和嵌入数据库)位于ODBC层与应用程序之间.ADO是位于OLEDB之上的"应用程序".你的ADO调用先被送到OLEDB,然后再交由ODBC处理.你可以直接连接到OLEDB,如果你这么做了,你将看到服务器端游标(recordset的缺省的游标,也是最常用的游标)性能的提升. 

    另外,图上画的都是以SQL server身份验证的方式举例的。而数据库一般都支持两种,如Windows身份验证,或SQL身份验证。即SQL身份验证需要指定用户名和密码,而Windows身份验证就不用。

用OLEDB方式来举例:

  Sql身份验证模式:

ConnectString =“Provider=SQLOEDB;Data source=server_name;

              Initial catalog=databasename;UID=username;PWD=password;”

  Windows身份验证模式:

ConnectString=“Provider=SQLOLEDB;Data Source=server_name;DataBase=databasename;

             Integrated Security=SSPI;Persist Security Info =true

    SSPI是SecuritySupport Provider Interface(Microsoft安全支持提供器接口)。SSPI是定义得较全面的公用API,用来获得验证、信息完整性、信息隐私等集成安全服务,以及用于所有分布式应用程序协议的安全方面的服务。Integrated Security 可以设置为: True, false, yes,no ,还可以设置为:sspi ,相当于 True,建议用这个代替 True。

    Persist Security Info:坚持安全信息

    Persist Security Info属性的意思是表示是否保存安全信息,其实可以简单的理解为"ADO在数据库连接成功后是否保存密码信息",True表示保存,False表示不保存.ADO缺省为False.

设置Integrated Security为 True 的时候,采用windows身份验证模式。只有设置为 False 或省略该项的时候,采用 UID, PWD 来连接。

 

 

 

 

 

 

 

原创粉丝点击