使用 Oracle 和 COM+ 的练习

翻译|其它|编辑:郝浩|2004-02-04 11:45:00.000|阅读 1598 次

概述:

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

有一些准则可以帮助合成 COM+/Oracle 应用程序。在开始编写这样的应用程序之前,开发人员和设计者应该完整地阅读下面的 KB 文章:
信息:使用 Oracle 数据库和 Microsoft 事务服务器 (Q193893)(英文)

Oracle 服务器配置

将 Oracle 服务器放在专门的 Windows 2000/Windows NT 服务器上

Oracle 服务器在设计上是作为机器上运行的唯一应用程序。如果在 Windows 2000 或 Windows NT 上运行 Oracle,那么应该将 Oracle 设置为完全在它自己的专门的机器上运行。这种方式可以降低对服务器上资源的竞争,从而获得更高的性能。客户报告了一些试图在同一 Windows 2000 或 Windows NT 服务器上与 Oracle 一起运行其他软件(例如 COM+)时的问题。

将 Oracle 服务器配置为支持大量连接

信息:使用 Oracle 数据库和 Microsoft 事务服务器 (Q193893)(英文)一文讨论了将 Oracle 服务器配置参数设置为支持大量连接的一般规则。调整这些参数已经解决了许多 COM+/Oracle 问题。请参见该文中的“管理 Oracle 和 Microsoft 分布式事务协调器”一节,获得有关该主题的更多信息。

COM+/Oracle 客户机配置

用正确的方式构造 COM+ 服务器

设置和维护能用于 Oracle 的 COM+ 机器可能非常复杂。为了获得最佳性能,请尽可能保证 COM+ 服务器的干净程度,方法是按下列顺序在最新格式化的硬盘上安装下列应用程序:

  1. Windows 2000

  2. Oracle Client 8.0.5 和修补程序 80524 或更高版本

  3. Oracle Net8 和修补程序 8.0.5.0.3 或更高版本

  4. 更新客户软件注册表项

注意 MDAC 2.5 附带了预装的 Windows 2000,因此不需要安装 MDAC。

用最新的修补程序安装 Oracle Client 8.0.5

用最新的 Oracle 客户修补程序(80524 或更高版本)安装到 Oracle 8.0.5 客户机上,以便在 Oracle 中使用事务组件。Oracle 会主动修补他们的软件。并且在适当时候安装这些修补程序。很多时候修补程序都包括与 COM+/Oracle 应用程序直接相关的补丁。下面的文章包含何处可以获取这些修补程序的信息。

信息:Oracle 公共 FTP 站点的位置 (Q193941)(英文)

安装 Oracle Net8 和修补程序 8.0.5.0.3 或更高版本

在安装了 Oracle Net 8 后请安装 Oracle Net8 修补程序 8.0.5.0.0.3 或更高版本。参见上面的 KB 文章,获得何处获取这些修补程序的有关信息。

更新客户软件注册表项

如果您使用的是 Oracle8 客户软件,那么必须修改下列注册表项的值。请确保在下表中指定了注册表项值。

Oracle
客户机
Windows NT 或
Windows 9x
Windows 2000
7.x [HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\Transaction Server\Local Computer\My Computer]

"OracleXaLib"="xa73.dll" "OracleSqlLib"="SQLLib18.dll"
"OracleOciLib"="ociw32.dll"

[HKEY_LOCAL_MACHINE\SOFTWARE\
Microsoft\MSDTC\MTxOCI]

"OracleXaLib"="xa73.dll"
"OracleSqlLib"="SQLLib18.dll"
"OracleOciLib"="ociw32.dll"

8.0 [HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\Transaction Server\Local Computer\My Computer]

"OracleXaLib"="xa80.dll"

"OracleSqlLib"="sqllib80.dll"

"OracleOciLib"="oci.dll"

[HKEY_LOCAL_MACHINE\SOFTWARE\
Microsoft\MSDTC\MTxOCI]

"OracleXaLib"="xa80.dll"

"OracleSqlLib"="sqllib80.dll"

"OracleOciLib"="oci.dll"

8.1 [HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\Transaction Server\Local Computer\My Computer]

"OracleXaLib"="oraclient8.dll"

"OracleSqlLib"="orasql8.dll"

"OracleOciLib"="oci.dll"

[HKEY_LOCAL_MACHINE\SOFTWARE\
Microsoft\MSDTC\MTxOCI]

"OracleXaLib"="oraclient8.dll"

"OracleSqlLib"="orasql8.dll"

"OracleOciLib"="oci.dll"


对 Oracle 的 COM+ 支持的安装和配置的测试

测试 Oracle 的 COM+ 支持配置的工具

在完成了下列对 Oracle 的 COM+ 支持配置步骤后,请进行测试以确保配置能够正常工作。有关工具和应用程序的信息,请参见知识库文章 Q193893(英文)中的“对 Oracle 的 COM+ 支持的安装和配置的测试”一节。也可以通过编写自己的示例应用程序来测试配置。

用组件检查器测试 MDAC 部署

“组件检查器”工具在设计上有助于确定已安装的版本信息,并诊断与 MDAC 有关的安装问题。“组件检查器”可以在 Windows 95、Windows 98、Windows NT 4.0 和 Windows 2000 上运行。“组件检查器”已经更新为包括 MDAC 2.5 数据。在 www.microsoft.com/data/download.htm 中可以获得该工具。

使用 Oracle 和 COM+ 的已知限制

Oracle Client 8i 对事务组件的限制

在 Oracle8i XA 客户库中存在一个导致所有 DTC 事务失败的错误。当使用 DTC 的 XA 支持在用 Oracle8i 客户库的 Oracle 数据库上执行事务时,将显示该错误。这是 xa_close 实现中的错误。在修复了错误后,我们建议您对事务组件使用 Oracle 客户 8.0.5 和修补程序 80524 或更高版本。

注意存储过程中的事务控制

请记住,在从 COM+ 调用存储过程时,您正在处理全局事务。调用 COMMIT ROLLBACKSAVEPOINT 可能导致意外的结果或错误。Microsoft 还没有对从 COM+ 使用 Oracle 存储过程进行测试,所以在使用它们时应该小心。

在与 COM+ 共同使用之前,全面测试 Oracle 软件

客户在 COM+ 环境中实现下列 Oracle 软件时遇到问题:

  • Oracle 名称服务器

  • 应用程序服务器

  • 连接池/多工

  • 容错软件

问题通常出现在部署到运行这些服务的生产环境中时,因此请确保已经正确测试了应用程序。

资源

如果在实现 COM+/Oracle 应用程序时遇到问题,请查看下列文章:

信息:使用 Oracle 数据库和 Microsoft 事务服务器 (Q193893)(英文)
信息:错误:“-2147168246 (8004d00a)”列出调用对象的事务时失败 (Q191168)(英文)
信息:Oracle TRC 文件和 MTS (Q246006)(英文)
信息:Oracle 公共 FTP 站点的位置 (Q193941)(英文)
所有关于 Oracle 的 Microsoft 知识库文章(英文)


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP