ADO & OLE DB Provider

modico
与OLE DB通讯的ADO客户需要一个OLE DB Provider——一个使用OLE DB接口和方法来查询一个SQL数据源的动态链接库。对于Microsoft SQL Server,有两类OLE DB Provider可供使用:

  • Microsoft OLE DB Provider for SQL Server(SQLOLEDB),它直接把OLE DB接口和方法映射到SQL Server数据源上。
  • Microsoft OLE DB Provider for ODBC(MSDASQL),它把OLE DB接口和方法映射到ODBC APIs上。使用OLE DB的客户通过一个已经存在的SQL Server ODBC驱动程序连接到一个SQL Server数据库。

我们推荐使用由SQL Server提供的SQLOLEDB作为你的OLE DB provider。SQLOLEDB把OLE DB接口和方法直接映射到SQL Server数据源上而无须使用ODBC API或SQL Server ODBC驱动程序作为中介。
SQLOLEDB和MSDASQL是有不同的。两类provider支持不同的连接属性,SQLOLEDB不支持ODBC DSN连接的使用。MSDASQL的连接属性的具体信息可查阅online Microsoft MSDN Library,Microsoft Visual Studio version 6.0。
ADO能使用任意的OLE DB provider来建立一个连接。provider通过Connection对象的Provider属性来指定。一般来说,你应该使用SQLOLEDB连接到Microsoft SQL Server,尽管你也可以使用MSDASQL。如果没有指定provider,ADO默认使用MSDASQL。
类似于MSDASQL,SQLOLEDB让你使用一个连接字符串来指定单个的连接参数。如果你要使用单个的连接参数:

  • 使用Initial Catalog属性指定数据库。
  • 使用Data Source属性指定服务器名称。
  • 使用Integrated Security属性,设置一个"SSPI"的值来指定使用Windows NT验证。要指定SQL Server验证,使用User IDPassword属性。

如果你以连接字符串来使用SQLOLEDB:

  • 使用DatabaseInitial Catalog关键字来指定数据库。
  • 使用ServerData Source关键字来指定服务器名称。
  • 使用Trusted_Connection关键字,设置一个"yes"的值来指定Windows NT验证。要指定SQL Server验证,使用关键字UIDUser ID设置用户(例如sa),关键字PwdPassword设置口令。

注意SQLOLEDB不允许多重连接。不像MSDASQL,当连接阻塞时SQLOLEDB不会去尝试重连。
※编辑: modico (modico) 于 2000-04-29 09:35:26 在 [202.117.82.2] 编辑本文

欲求无限
立地成佛
.
有时候
交谈变得空洞
沉默却像沟通