其他语言

本类阅读TOP10

·基于Solaris 开发环境的整体构思
·使用AutoMake轻松生成Makefile
·BCB数据库图像保存技术
·GNU中的Makefile
·射频芯片nRF401天线设计的分析
·iframe 的自适应高度
·BCB之Socket通信
·软件企业如何实施CMM
·入门系列--OpenGL最简单的入门
·WIN95中日志钩子(JournalRecord Hook)的使用

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
MDAC 2.5 堆栈和 Windows 文件保护

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

摘要:本文档提供关于“Microsoft 数据访问组件 (MDAC) 2.5”重新分配堆栈的详细说明,以及对在运行 Microsoft(R) Windows(R) 2000 或 Microsoft Windows Millennium 的计算机上的文件进行“Windows 文件保护”的效果 - 包括关于在 Windows 2000 或 Windows Millennium 上如何恢复被损坏的安装的信息。本文档还提供将 MDAC 2.5 重新分配堆栈分配给它的各个独立组件的细目,并阐述每种技术的特点。

注意   尽管提供了 MDAC 堆栈的分类细目,我们仍大力推荐全部采用或全部不采用关于 MDAC 2.5 重新分配的策略。请参阅“最终用户许可协议”(在 Mdaceula.txt 中)以获取关于重新分配 MDAC 2.5 的详细信息。另外从此以后,MDAC 2.5 重新分配堆栈将被称为 MDAC 2.5 堆栈。最后,“Windows 文件保护 (WFP)”开始被称为“系统文件保护 (SFP)”,因而任何涉及 WFP 之处也指 SFP。

目录


简介

MDAC 2.5 堆栈可大致分为 ActiveX 数据对象 (ADO)、OLE DB、开放式数据库连接 (ODBC)、远程数据服务 (RDS)、Microsoft Jet 和 Microsoft Visual FoxPro(R) 组件。这些组件彼此密切相关。例如,如果没有 ODBC 核心、OLE DB 核心和后端数据库的 OLE DB 提供者或 ODBC 驱动程序,ADO 组件就无法正常工作。

Windows 文件保护和 MDAC 2.5

Windows 操作系统的一个历史遗留问题是:安装与操作系统无关的程序会改写共享的系统文件。此类安装后,用户经常遇到意想不到的系统性能,从应用程序错误到操作系统崩溃。此问题影响几类文件,最常见的是“动态链接库 (DLL)”和可执行文件 (EXE),这一问题通常被称为“DLL Hell(该死的 DLL)”(有关详细信息,请参见“参考文献”一节列出的该死的 DLL 的终结。)

Windows 2000 具有称为“Windows 文件保护 (WFP)”的新功能,它可以防止 Windows 2000 所配置的系统文件被不属于操作系统更新的安装所替换。由于防止了基本的系统文件被替换,现在可以避免文件版本不匹配的情况了。

哪些 MDAC 文件受到 WFP 的保护?

所有受 WFP 保护的 MDAC 文件单列于本文档的 MDAC 技术章节的表格中。WFP 列中的“1”表示它受 WFP 的保护,“0”表示它不受 WFP 的保护。

如果 Windows 2000 上 MDAC 2.5 文件的安装被损坏,如何在不重新安装操作系统的前提下修复?

MDAC 2.5 随 Windows 2000 提供。WFP 将防止多数 MDAC 2.5 DLL 被更改。万一 MDAC 2.5 WFP DLL 被损坏,请向 Microsoft“产品支持服务”求助。损坏的非 WFP 文件,可通过从 MDAC 2.5 堆栈复制正确的文件而复原。

MDAC 2.5 堆栈及其组件

本文档的其余章节将详细讨论每种 MDAC 技术,每节包括一个提供以下信息的表:

  • 给定的组件所包含的所有文件名

  • 是否每个文件都受到“Windows 文件保护”(0 = 否,1 = 是)

  • 从中找到该文件的组件发行版本

  • 该文件的简短说明

  • 文件的位置

下表给出了位置列缩写的含义。

图例 含义 例子
\HELP <Drive>:\<Windir>\help C:\Winnt\help
\SYS <Drive>:\<Windir>\<Systemdir> C:\Winnt\System32
\OLEDB <Drive>:\<programfiles>\<commonfiles>\System\ole db C:\Program Files\Common Files\System\oledb
\ADO <Drive>:\<programfiles>\<commonfiles>\System\Ado C:\Program Files\Common Files\System\ado
\RDS <Drive>:\<programfiles>\<commonfiles>\System\Msadc C:\Program Files\Common Files\System\msadc

此外,一些组件在 \HELP 文件夹中提供了它们自己的“HTML 帮助”文件。

ADO

ADO 是“通用数据访问 (UDA)”的旗舰应用程序编程接口 (API)。ADO 2.5 提供了新的对象,Record 对象和 Stream 对象,它们能够通过 Microsoft OLE DB Provider for Internet Publishing (MSDAIPP),从 URL 检索数据。另外,传统的 ADO 对象,如 ConnectionRecordset 对象,连同新的对象,可以直接绑定到 URL 并检索数据。ADO 2.5 也提供对半结构化数据(也称为不规则的非矩形的数据)的支持。

在 MDAC 2.5 中,ADO 包含 ADOX 和 ADO MD 子组件。除了 ADO 对象模型以外,ADO 核心组件还包括资源和行集合帮助器库,以及 ADO 2.0 和 2.1 类型库。ADO MD - 展示多维数据的高级对象模型,被包含在一个 DLL (msadomd.dll),也就是 ADOX (msadox.dll) 中。ActiveX 数据对象 2.1 类型库是 MDAC 2.5 的新增内容。

MDAC 2.5 ADO 堆栈

组件 文件名 WFP x86 版本 位置 说明
ADO adojavas.inc 0   \ADO ADO JavaScript 包含文件
ADO adovbs.inc 0   \ADO ADO VBScript 包含文件
ADO msader15.dll 1 2.50.4403.3 \ADO ActiveX 数据对象资源
ADO msado15.dll 1 2.50.4403.3 \ADO ActiveX 数据对象
ADO msado20.tlb 1 2.50.4403.3 \ADO ActiveX 数据对象 2.0 类型库
ADO msado21.tlb 1 2.50.4403.3 \ADO ActiveX 数据对象 2.1 类型库
ADO msador15.dll 1 2.50.4403.3 \ADO ActiveX 数据对象
ADO msadrh15.dll 1 2.50.4403.3 \ADO ActiveX 数据对象行集合帮助器
ADOMD msadomd.dll 1 2.50.4403.3 \ADO ActiveX 数据对象(多维)
ADOX msadox.dll 1 2.50.4403.3 \ADO 数据定义语言和安全的 ActiveX 数据对象扩展 (ADOX)

ODBC

ODBC 仍然是广泛用于数据库访问的 API。它基于来自 X/Open 和 ISO/IEC 的、针对数据库 API 的“调用级接口 (CLI)”规范,并使用“结构化查询语言 (SQL)”作为其数据库访问语言。它给客户机提供了统一的方法和相同的源代码,来访问来自于不同数据库管理系统的相关数据。

除了形实替换程序 DLL 外,ODBC 组件还包括非常重要的“ODBC 驱动程序管理器”、“Windows 2000 组件服务”(如果您使用的是 Microsoft Windows NT(R) 连接池管理器,则是 MTS)、驱动程序管理器跟踪 DLL 和 ODBC 游标库。其他组件包括 ODBC 资源文件、安装程序 DLL 和“驱动程序配置”程序文件。

ODBC 管理器仍然形成 ODBC 核心的整体部分,另一个注释文件是安装在 \WIN 文件夹中的“ODBC HTML 帮助”文件。

MDAC 2.5 ODBC 堆栈

组件 文件名 WFP 版本 位置 说明
ODBC ds16gt.dll 1 3.510.3711.0 \SYS ODBC 16 位驱动程序设置通用形实替换程序
ODBC ds32gt.dll 1 3.520.4403.2 \SYS ODBC 驱动程序设置通用形实替换程序
ODBC mtxdm.dll 0 1997.11.532.0 \SYS MTS 连接池 - DBC 驱动程序管理器
ODBC odbc16gt.dll 1 3.510.3711.0 \SYS ODBC 16 位通用形实替换程序
ODBC odbc32.dll 1 3.520.4403.2 \SYS ODBC 驱动程序管理器
ODBC odbc32gt.dll 1 3.520.4403.2 \SYS ODBC 驱动程序通用形实替换程序
ODBC odbcad32.exe 1 3.520.4403.2 \SYS ODBC 管理员
ODBC odbcconf.dll 1 3.520.4403.2 \SYS ODBC 驱动程序配置程序
ODBC odbcconf.exe 1 3.520.4403.2 \SYS ODBC 驱动程序配置程序
ODBC odbcconf.rsp 0   \SYS ODBC 驱动程序配置文件
ODBC odbccp32.cpl 1 3.520.4403.2 \SYS ODBC 控制面板
ODBC odbccp32.dll 1 3.520.4403.2 \SYS ODBC 安装程序
ODBC odbccr32.dll 1 3.520.4403.2 \SYS ODBC 光标库
ODBC odbccu32.dll 1 3.520.4403.2 \SYS ODBC 光标库
ODBC odbcinst.chm 0   \HELP ODBC HTML 帮助
ODBC odbcint.dll 1 3.520.4403.2 \SYS ODBC 资源
ODBC odbctrac.dll 1 3.520.4403.2 \SYS ODBC 驱动程序管理器跟踪

OLE DB

OLE DB 提供一套用来访问关系型和非关系型数据的 COM 接口。OLE DB 2.5 引入了一套设计为合并半结构化数据模型的新接口。它有效地添加了对分层数据仓库、非矩形结果集和通过 URL 直接到对象的绑定的支持。举例来说,文件仓库和消息仓库是分层仓库,简单或复杂的文档、电子邮件等是非矩形数据。对此类访问的支持,是通过 OLE DB 行和流对象、直接绑定和作用域操作能力来提供的。

除了新的接口外,形成 OLE DB 核心的对象通常是相同的。不过,一个显著的新功能是根绑定器对象,它提供直接绑定到 URL 并检索非矩形数据的机制。其他新功能包括 OLE DB 2.5 运行时例程和 OLE DB JavaScript 以及 VBScript 包含文件。

MDAC 2.5 OLE DB 堆栈

组件 文件名 WFP 版本 位置 说明
OLE DB msdadc.dll 1 2.50.4403.0 \OLEDB OLE DB 数据转换存根
OLE DB msdaenum.dll 1 2.50.4403.0 \OLEDB OLE DB 根计数器存根
OLE DB msdaer.dll 1 2.50.4403.0 \OLEDB OLE DB 错误集合存根
OLE DB msdaosp.dll 1 2.50.4403.0 \OLEDB OLE DB 简单提供者
OLE DB msdaps.dll 1 2.50.4403.2 \OLEDB OLE DB 接口代理/存根
OLE DB msdart32.dll 1 2.50.4403.0 \SYS OLE DB 运行时例程
OLE DB msdasc.chm 0   \HELP OLE DB 服务组件 HTML 帮助文件
OLE DB msdasc.dll 1 2.50.4403.0 \OLEDB OLE DB 服务组件存根
OLE DB msdasql.dll 1 2.50.4403.0 \OLEDB ODBC 驱动程序的 OLE DB 提供者
OLE DB msdasqlr.dll 1 2.50.4403.0 \OLEDB ODBC 驱动程序资源的 OLE DB 提供者
OLE DB msdatl2.dll 1 2.50.4403.0 \OLEDB OLE DB 实现支持例程
OLE DB msdatt.dll 1 2.50.4403.0 \OLEDB OLE DB 临时表服务
OLE DB msdaurl.dll 1 9.1.4403.0 \OLEDB OLE DB 根装订库存根
OLE DB msxactps.dll 1 2.50.4403.0 \OLEDB OLE DB 事务代理/存根
OLE DB oledb32.dll 1 2.50.4403.3 \OLEDB OLE DB 核心服务
OLE DB oledb32r.dll 1 2.50.4403.2 \OLEDB OLE DB 核心服务资源
OLE DB oledb32x.dll 1 2.50.4403.0 \OLEDB OLE DB 扩展
OLE DB oledbjvs.inc 0   \OLEDB OLE DB JavaScript 包含文件
OLE DB oledbvbs.inc 0   \OLEDB OLE DB VBS 包含文件

SQL Server

与 MDAC 2.1 版相比,SQL Server 的子组件列表没有变化。这些子组件与 SQL Server ODBC 驱动程序和 OLE DB Provider for SQL Server 相关。再说,此处的分类细目是基于产品而不是基于相关性的。因此,尽管 SQL Server ODBC 驱动程序依赖于网络库,但网络库仍列于 SQL Server OLE DB 之下。其他重要的子组件包括代码页转译器、客户配置实用程序、SQL 企业组件和 SQL Server 目录更新。

MDAC 2.5 SQL Server ODBC 和 OLE DB 堆栈

组件 文件名 WFP 版本 位置 说明
SQL Server ODBC 12520437.cpx 1   \SYS SQL Server 代码页转译器
SQL Server ODBC 12520850.cpx 1   \SYS SQL Server 代码页转译器
SQL Server ODBC cliconf.hlp 0   \SYS SQL Server 客户机配置帮助文件
SQL Server ODBC cliconfg.DLL 0 1999.5.27.0 \SYS 客户机配置实用程序
SQL Server ODBC cliconfg.exe 0 1999.5.27.0 \SYS 客户机配置实用程序
SQL Server ODBC odbcbcp.dll 0 3.70.8.12 \SYS BCP for ODBC
SQL Server ODBC sqlsodbc.hlp 0   \SYS SQL Server ODBC 帮助
SQL Server ODBC sqlsrv32.dll 0 3.70.8.12 \SYS SQL Server ODBC 驱动程序
SQL Server ODBC sqlstr.dll 0 1999.5.27.0 \SYS SQL 企业组件的函数 DLL
SQL Server ODBC sqlwid.dll 0 1999.5.27.0 \SYS SQL 企业组件的函数 DLL
SQL Server ODBC sqlwoa.dll 0 1999.5.27.0 \SYS SQL 企业组件的函数 DLL
SQL Server OLE DB dbmsadsn.dll 0 1999.5.27.0 \SYS Pipes Net DLL for SQL Clients
SQL Server OLE DB dbmsrpcn.dll 0 1999.5.27.0 \SYS RPC 网络库
SQL Server OLE DB dbmsshrn.dll 0 1999.5.27.0 \SYS RPC 网络库
SQL Server OLE DB dbmssocn.dll 0 1999.5.27.0 \SYS Net DLL for SQL Server
SQL Server OLE DB dbmsspxn.dll 0 1999.5.27.0 \SYS NWLINK SPX WINSOCK 网络库
SQL Server OLE DB dbmsvinn.dll 0 1999.5.27.0 \SYS VINES 网络库
SQL Server OLE DB dbnmpntw.dll 0 1999.5.27.0 \SYS Pipes Net DLL for SQL Clients
SQL Server OLE DB instcat.sql 0   \SYS SQL Server SP 目录更新器
SQL Server OLE DB sqloledb.dll 0 7.1.8.14 \OLEDB OLE DB Provider for SQL Server
SQL Server OLE DB SQLSOLDB.hlp 0   \OLEDB SQL Server OLE DB 帮助

Oracle

在 MDAC 2.5 中,Oracle 组件,包括 Oracle Call Interface (OCI) DLL 和代码页转译器,对于“Oracle ODBC 驱动程序”和 OLE DB Provider for Oracle 是不变的。

MDAC 2.5 Oracle ODBC 和 OLE DB 堆栈

组件 文件名 WFP 版本 位置 说明
Oracle ODBC mscpxl32.dll 1 3.60.3.20 \SYS ODBC 代码页转译器
Oracle ODBC msorcl32.chm 0   \HELP Oracle ODBC 驱动程序帮助(编译的 HTML)
Oracle ODBC msorcl32.dll 1 2.573.4403.0 \SYS ODBC Driver for Oracle
Oracle ODBC/OLE DB mtxoci.dll 0 1999.6.854.0 \SYS MTS - Oracle OCI
Oracle OLE DB msdaora.dll 1 2.50.4403.0 \OLEDB OLE DB Provider for Oracle

Microsoft Jet

Microsoft Jet 在 MDAC 2.5 堆栈中有 28 个子组件。通常除了“HTML 帮助”文件之外,此列表是不变的。Jet 组件包括带无数 ISAM 的 Jet Engine、协调库、复制库、排序库、表达式服务二进制、Jet ODBC 驱动程序、OLE DB Provider for Microsoft Jet 以及 Microsoft Jet 和复制 (JRO) 对象。

MDAC 2.5 Microsoft Jet 堆栈

组件 文件名 WFP 版本 位置 说明
Jet expsrv.dll 1 6.0.0.8540 \SYS VBA 运行时 - 表达式服务
Jet msexch40.dll 1 4.0.2927.2 \SYS Jet Exchange ISAM
Jet msexcl40.dll 1 4.0.2927.2 \SYS Jet Excel ISAM
Jet msjet40.dll 1 4.0.2927.4 \SYS Jet 引擎库
Jet msjint40.dll 1 4.0.2927.2 \SYS Jet Database Engine International DLL
Jet msjter40.dll 1 4.0.2927.2 \SYS Jet Database Engine Error DLL
Jet msjtes40.dll 1 4.0.2927.6 \SYS Jet Expression Service
Jet msltus40.dll 1 4.0.2927.2 \SYS Jet Lotus 1-2-3 ISAM
Jet mspbde40.dll 1 4.0.2927.2 \SYS Jet Paradox ISAM
Jet msrd2x40.dll 1 4.0.2927.2 \SYS (R) Red ISAM
Jet msrd3x40.dll 1 4.0.2927.4 \SYS (R) Red ISAM
Jet msrecr40.dll 0 4.00.2927.2 \SYS 协调器资源库
Jet msrepl40.dll 1 4.0.2927.2 \SYS 复制库
Jet mstext40.dll 1 4.0.2927.6 \SYS Jet Text ISAM
Jet mswdat10.dll 1 4.0.2927.2 \SYS Jet 排序表
Jet mswstr10.dll 1 4.0.2927.2 \SYS Jet 排序库
Jet msxbde40.dll 1 4.0.2927.2 \SYS Jet xBASE ISAM
Jet vbajet32.dll 1 6.0.1.8268 \SYS VBA 开发环境 - Expression Service Loader
Jet ODBC odbcjet.chm 0   \HELP Jet ODBC HTML 帮助
Jet ODBC odbcji32.dll 1 4.0.4403.2 \SYS ODBC 桌面驱动程序包 3.5
Jet ODBC odbcjt32.dll 1 4.0.4403.2 \SYS ODBC 桌面驱动程序包 3.5
Jet ODBC oddbse32.dll 1 4.0.4403.2 \SYS DBase 的 (3.0) 驱动程序
Jet ODBC odexl32.dll 1 4.0.4403.2 \SYS Excel 的 (3.0) 驱动程序
Jet ODBC odfox32.dll 1 4.0.4403.2 \SYS FoxPro 的 (3.0) 驱动程序
Jet ODBC odpdx32.dll 1 4.0.4403.2 \SYS Paradox 的 (3.0) 驱动程序
Jet ODBC odtext32.dll 1 4.0.4403.2 \SYS 文本文件的 (3.0) 驱动程序
Jet OLE DB msjetoledb40.dll 1 4.0.2927.2 \SYS Jet 的 OLE DB 提供者
JRO msjro.dll 1 2.50.4403.3 \ADO Jet 和复制对象

RDS

在 MDAC 2.5 中,RDS 子组件的列表与 MDAC 2.1 相比没有变化。该堆栈包含以下组件和相关资源:RDSServer.DataFactory 对象及其处理器、RDS.DataControl 对象、RDS ISAPI 库、Data Shaping Service for OLE DB、OLE DB 永久提供者、OLE DB 远程提供者和 OLE DB 的 OLE DB 游标服务。

MDAC 2.5 RDS 堆栈

组件 文件名 WFP 版本 位置 说明
RDS adcjavas.inc 0   \RDS RDS JavaScript 包含文件
RDS adcvbs.inc 0   \RDS RDS VBScript 包含文件
RDS HANDLER.reg 0   \RDS 设置默认 RDS 处理器的 REG 文件
RDS handsafe.reg 0   \RDS 制作始终需要安全处理器的 RDS 的 REG 文件
RDS handunsf.reg 0   \RDS 制作不需要安全处理器的 RDS 的 REG 文件
RDS msadce.dll 1 2.50.4403.0 \RDS OLE DB 游标引擎
RDS msadcer.dll 1 2.50.4403.0 \RDS OLE DB 游标引擎资源
RDS msadcf.dll 1 2.50.4403.0 \RDS 远程数据服务 DataFactory
RDS msadcfr.dll 1 2.50.4403.0 \RDS 远程数据服务 DataFactory 资源
RDS msadco.dll 1 2.50.4403.0 \RDS 远程数据服务 DataControl
RDS msadcor.dll 1 2.50.4403.0 \RDS 远程数据服务 DataControl 资源
RDS msadcs.dll 1 2.50.4403.0 \RDS 远程数据服务 ISAPI 库
RDS msadds.dll 1 2.50.4403.0 \RDS OLE DB Data Shaping 服务
RDS msaddsr.dll 1 2.50.4403.0 \RDS OLE DB Data Shaping 服务资源
RDS msdaprsr.dll 1 2.50.4403.2 \RDS OLE DB 永久提供者资源
RDS msdaprst.dll 1 2.50.4403.2 \RDS OLE DB 永久提供者
RDS msdarem.dll 1 2.50.4403.2 \RDS OLE DB 远程提供者
RDS msdaremr.dll 1 2.50.4403.2 \RDS OLE DB 远程提供者资源
RDS msdatsrc.tlb 1 9.0.4403.0 \SYS 数据源接口
RDS msdfmap.dll 1 2.50.4403.0 \RDS DataFactory 处理程序
RDS msdfmap.ini 0   \WIN 配置默认 RDS 处理程序的 INI 文件

Visual FoxPro

Visual FoxPro 组件包括 Visual FoxPro ODBC 驱动程序及其相应的帮助文件。

MDAC 2.5 Visual FoxPro 堆栈

组件 文件名 WFP 版本 位置 说明
Visual FoxPro drvvfp.chm 0   \HELP Visual FoxPro ODBC 驱动程序 HTML 帮助
 Visual FoxPro vfpodbc.dll 1 6.1.8440.1 \SYS Visual FoxPro ODBC 驱动程序

参考文献

重新分配 Microsoft 数据访问(英文)

通用数据访问 Web 页(英文)

OLE DB 2.5 程序员参考(英文)

该死的 DLL 的终结(英文)

MSDN 联机帮助 - Microsoft 数据访问组件(英文)




相关文章

相关软件