|
|
------------------------------------------------------
|
|
|
Microsoft(R) SQL Server OLE DB Provider 7.00.459 自述文件
|
|
|
------------------------------------------------------
|
|
|
|
|
|
(c) 1998 Microsoft Corporation。保留所有权力。
|
|
|
|
|
|
本文档提供了 Microsoft SQL Server OLE DB Provider 文档中没有包括的最新或其他的信息。
|
|
|
|
|
|
----
|
|
|
目录
|
|
|
----
|
|
|
|
|
|
1. 产品说明
|
|
|
|
|
|
2. 技术说明
|
|
|
|
|
|
-----------
|
|
|
1. 产品说明
|
|
|
-----------
|
|
|
SQLOLEDB,Microsoft SQL Server OLE DB 提供者,为希望从一个或多个 SQL Server 存取数据的用户提供了接口。
|
|
|
|
|
|
-----------
|
|
|
2. 技术说明
|
|
|
-----------
|
|
|
|
|
|
2.1 对 SQLOLEDB 属性所作的改变
|
|
|
|
|
|
请注意 SQLOLEDB 属性有下列改变:
|
|
|
|
|
|
* DBPROP_INIT_DATASOURCE 属性现在用于指定正在运行 SQL Server 的服务器的名称。它不再用于指定数据库名称。
|
|
|
|
|
|
* DBPROP_INIT_CATALOG 属性现在用于指定初始化数据库。
|
|
|
|
|
|
* 不再支持 DBPROP_INIT_LOCATION 属性。
|
|
|
|
|
|
* 支持 DBPROP_AUTH_INTEGRATED 属性。如果将 DBPROP_AUTH_INTEGRATED 设置为“SSPI”,则使用集成安全设置。如果
|
|
|
设置为空值 BSTR 指针,则使用 SQL Server 安全设置。
|
|
|
|
|
|
* 不再支持 SSPROP_AUTH_TRUSTEDCONNECTION 属性。
|
|
|
|
|
|
* 不再支持 DBPROP_INIT_MODE 提供者指定属性。
|
|
|
|
|
|
2.2
|
|
|
如果试在连接上执行一个命令,而此连接上已有一个尚未执行的命令,在满足下述条件时,SQLOLEDB 创建另一连接来执
|
|
|
行新命令:
|
|
|
|
|
|
* 将 DBPROP_MULTIPLECONNECTIONS 设置为 VARIANT_TRUE。
|
|
|
* 第一个命令不产生行集,或没有使用服务器光标。
|
|
|
* 连接中没有正在运行的事务。
|
|
|
|
|
|
如果在连接中有正在运行的事务,则执行第二个命令将返回 E_FAIL。如果在连接中没有正在运行的事务,但是
|
|
|
DBPROP_MULTIPLECONNECTIONS 设置为 VARIANT FALSE,则执行第二个命令将返回 DB_E_OBJECTOPEN。
|
|
|
|
|
|
事务和锁定由每一个连接的 SQL Server 管理。如果生成第二个连接,则各自连接上命令并不共享锁定。必须小心确保不
|
|
|
要由于其他命令要求的保持行锁定而造成一个命令阻塞另一命令。
|
|
|
|
|
|
2.3
|
|
|
为通过减少网络传输来改善性能,SQLOLEDB 并不自动地派生参数信息,除非在执行命令之前调用
|
|
|
ICommandWithParameters::GetParameterInfo 或 ICommandPrepare::Prepare。这表明 SQLOLEDB 将不会自动地执行:
|
|
|
|
|
|
* 验证用 ICommandWithParameters::SetParameterInfo 指定的数据类型的正确性。
|
|
|
* 将存取器绑定消息中指定的 DBTYPE 映射到正确的参数的 SQL 数据类型。
|
|
|
|
|
|
如果应用程序指定的数据类型与参数的 SQL 数据类型不兼容,则应用程序将收到可能出现的错误消息或某一方法的精度
|
|
|
损失。
|
|
|
|
|
|
为辟免发生上述情况,应使您的应用程序:
|
|
|
|
|
|
* 在编写 ICommandWithParameters::SetParameterInfo 程序时,确保 pwszDataSourceType 与参数的 SQL 数据类型匹配。
|
|
|
* 在编写附件程序时,确保绑定到参数的 DBTYPE 数据类型与参数的 SQL 数据类型相同。
|
|
|
* 编写程序来调用 ICommandWithParameters::GetParameterInfo,以便提供者能动态地获得参数的 SQL 数据类型。这将
|
|
|
引起连接到服务器网络额外的循环行程。
|
|
|
|
|
|
2.4
|
|
|
如果行集合使用一个键盘操作的光标,DBPROP_CHANGEINSERTEDROWS 只能设置为 VARIANT_TRUE。 |