📄 adoread.txt
字号:
---------------------------------------------------------
Microsoft(R) ActiveX(R) Data Objects 2.0 版自述文件
---------------------------------------------------------
(c) 1998 Microsoft Corporation. All rights reserved.
本文档是 Microsoft ADO 文档的增补部分,提供了一些最新的或其他方面的信息。
----
目录
----
1. 产品说明
2. 新功能
2.1 异步连接、执行、获取和事件
2.2 数据形态
2.3 持久性
2.4 构造的 Recordset 对象
2.5 排序、筛选和查找
2.6 VC++ 的 ADO 扩展程序
2.7 Visual Analyzer(Microsoft Visual Studio(TM),仅限于企业版)的 ADO 支持
2.8 客户端游标的冲突解决方案
2.9 自定义的 DataFactory 行为
3. 技术说明
3.1 安全性增强
3.2 限制性行为
3.3 自定义安全性设置
4. 已知错误、限制、解决方法以及最新文档说明
-----------
1. 产品说明
-----------
ActiveX Data Objects (ADO) 是用于访问数据的基于自动化的接口。ADO 使用 OLE DB 接口访问范围广大的数据源,包括但不限于通过 ODBC 提供的数据。
RDO 和 DAO 的用户将能很快适应 ADO 编程,原因是 ADO 的总体设计来源于开发这些接口的经验。
Microsoft Remote Data Service (RDS) 是 ADO 的一个组件,RDS 为驻留在 Microsoft Internet Explorer 上的应用程序提供快速有效的数据连接和数据发布框架。它是一种基于工作在 HTTP、HTTPS(在 Secure Sockets 层上的HTTP)和 DCOM 应用程序协议之上的客户端/服务器的分布式技术。RDS 使用数据识别 ActiveX 控件,向需要建立分布式、数据密集且用于企业内部网和 Internet 的应用程序的 Web 开发人员提供以 Microsoft Visual Basic(R) 样式编程的数据访问。
---------
2. 新功能
---------
ADO 2.0 为开发者增加了几个新功能。
2.1 异步的连接、执行、获取和事件
象 RDO 2.0 一样,ADO 现在支持异步操作。异步操作允许在扩展操作之外取消,或在等待连接完成的同时继续处理。事件将在异步操作完成时发出通知。异步获取是针对客户端游标 (CursorLocation =adUseClient) 的特定功能,该客户端游标将从查询结果返回第一行,然后在操作已经获取行的同时继续在后台获取。
2.2 数据构形
连同 MSDataShape 提供者,ADO 可以分级显示数据。ADO 也可以显示记录集的分组和组合。
2.3 持久性
现在可以将 Recordset 对象直接保存在本地硬盘驱动器上,稍后再加载(当使用客户端游标工作时)。这时将允许连接到服务器、执行查询、调用 rst.Save("myfilename")、关闭计算机、稍后调用 rs.Open("myfilename",,,adCmdFile) 并修改数据。
2.4 构造 Recordset 对象
可以在 ADO 2.0 中创建 Recordset 对象而无须对数据源执行查询。只需创建新 Recordset 对象、追加某些 Field 对象、调用 rst.Open(),然后便可拥有可追加数据、进行远程调用和处理的 Recordset 对象,就好象 Recordset 对象已经由查询创建。
2.5 排序、筛选和查找
使用客户端游标时允许操作客户端的结果。
2.6 VC++ 的 ADO Extensions
通过使用本地数据类型代替 C++ 代码中的变体型,向 VC++ 的用户提供更好的性能。
2.7 Visual Analyzer(Microsoft Visual Studio,仅限于企业版)的 ADO 支持
ADO 处理 Visual Analyzer,提交事件以帮助进行性能分析。
2.8 客户端游标的冲突解决方案
为在两层方案中通过客户端游标建立的 Recordset 对象提供增强功能。现在,在客户端游标中支持使用冲突解决方案的新函数(如 Resync 和 Update)。
2.9 自定义的 DataFactory 行为
现在,可以通过执行 DataFactory 句柄对象来自定义隐式远程行为。DataFactory 处理程序可用于自定义通过 RDS 打开的 Recordset 对象的打开和批更新行为。可以选择自己编写新句柄或使用 RDS 2.0 自带的默认句柄 (MSDFMAP.dll)。可通过编辑它使用的默认 INI 文件 (MSDFMAP.INI) 来驱动默认句柄的行为。
-----------
3. 技术说明
-----------
3.1 安全性增强
该版本包括 ADO 和 RDS 对象的安全性增强,以便当 Internet Explorer 在“安全”模式下运行时使某些操作受到限制。
3.1.1. 区域
可以在 Internet Explorer 4.0 中为不同的“区域”设置不同的安全设置,以便在这些区域中自定义 ADO/RDS 对象的行为。在 Internet Explorer 4.0 中定义了以下四个区域:
* Internet 区域
* 本地企业网区域
* 受限站点区域
* 可信站点区域
3.1.2. 安全等级
可以对每个区域指定所使用的安全等级。每个区域可使用以下的安全等级:
* 高
* 中
* 低
* 自定义
象其他 ActiveX 控件一样,为了让 ADO/RDS 对象能完全地在 Internet Explorer 4.0 中工作,必须将安全等级设置为“中”或“高”。自定义设置用于将 ADO/RDS 对象设置为在安全或非安全模式下工作。
3.2 限制性行为
默认情况下,当访问来自“本地企业网区域”、“可信站点区域”和“Internet 区域”的网页时,在 Internet Explorer 4.0 中对 ADO/RDS 对象的任何非安全操作都将显示用户提示。默认情况下,对来自“受限站点区域”的网页,禁用对 ADO/RDS 对象的任何非安全操作。以下描述说明在这些模式下运行时的 ADO/RDS 行为:
3.2.1 安全对象
下列对象被认为是“安全”的。这意味着在安全环境(例如,默认情况下为 Internet Explorer,除非自定义设置用于在非安全模式下运行)下,不允许非安全操作(参见 3.2.3),而在非安全模式(例如,Visual Basic)下是允许的。
a. RDS.DATACONTROL 对象
b. RDS.DataSpace 对象
c. ADO Recordset 对象
3.2.2 非安全对象
下列对象被认为是“非安全”的。当在安全环境下操作时,无法直接或间接创建这些对象(并给予用户)。
a. RDSServer.DataFactory 对象
b. ADO Connection 对象
c. ADO Command 对象
3.2.3 安全对象的非安全操作
以下被认为是对“安全”对象的非安全操作 -- RDS.DataControl、RDS.DataSpace 和 ADO Recordset。这些操作在安全环境中是不允许的,但在非安全环境中却是允许的。
a. RDS.DataControl
i) 对于 RDS.DataControl 对象的所有两层和 DCOM 方案。这意味着不能在本地计算机,或在使用 DCOM 协议连接的服务器上打开数据库连接。
ii) 通过 HTTP 执行的所有三层操作,仅限于已经从其上下载网页的服务器。这意味着 RDS.DataControl 对象中的 Server 属性必须和已下载网页的主机名 (http:// Server) 相同。
b. RDS.DataSpace
i) RDS.DataSpace 对象的所有两层和 DCOM 方案。这意味着不能在本地计算机或 DCOM 协议上,使用 RDS.DataSpace 对象调用业务对象。
ii) 通过 HTTP 执行的所有三层方案仅限于已经从其上下载网页的服务器。这意味着在 DataSpace 对象上的 CreateObject 调用中,其第二个参数必须指向与已下载网页服务器相同的服务器。
c. ADO 记录集
i) 在提供者为非 MS Remote 的任何地方进行连接。所以连接字符串必须以“Provider=MS Remote”开头。连接字符串中的 "Remote Server" 标记也必须与下载网页的服务器同名。不允许本地的两层和 DCOM 连接。
ii) 本地持久性操作,诸如将记录集保存到本地文件系统并从本地计算机的文件中打开记录集。
3.3 自定义安全设置
ADO/RDS 行为受选项“对没有标记为安全的 ActiveX 控件进行初始化和执行脚本”控制,可以通过更改指定区域的安全级别来更改安全设置。本地企业网区域的默认“对没有标记为安全的 ActiveX 控件进行初始化和执行脚本”选项设置如下:
安全级别 = 高 值 = “禁用”
安全级别 = 中 值 = “禁用”
安全级别 = 低 值 = “提示”
有关其他安全区域的默认设置,请参见 Internet Explorer 的文档。
通过更改安全级别,可以更改运行在浏览器中未连接的 ADO Recordset 对象的行为。如要启用不安全的操作,并且希望每当进行这些操作时不被提示,则必须显式地将上面选项的值设置为“启用”。该步骤通过自定义安全设置(见后述)完成。同时请注意,如果对来自 RDS DataControl 的 ADO Recordset 进行不安全的操作(例如将它保存到本地文件系统的文件中),则必须将上面选项的值设置为“启用”。对这些 Recordset 对象(来自 RDS Datacontrol)设置“提示”将类似于“禁用”。
可以通过直接操作以上选项的自定义设置来覆盖默认设置。可以选择完全禁用非安全操作(如上所述),或指定当试图进行该操作时显示警告,或不进行警告而启用该操作。可为不同的安全区域设置不同的自定义设置。对指定安全区域进行自定义安全设置,必须执行以下操作:
警告:请注意在启用“对没有标记为安全的 ActiveX 控件进行初始化和执行脚本”(下面的第 5 步)后,将允许从网页内使用任何安全或非安全的 ActiveX 控件(不可见地将用户计算机暴露给恶意的控件或恶意的脚本代码)。建议只在“企业网”或“可信站点”安全区域内(不要在 Internet 区域)进行这样的操作。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -