0

我支持一些旧的Web 应用程序,用于 UI 的基于 VBScript 的 ASP 和用于业务和数据访问层的 VB6 COM 模块。上周末,我在几台 Windows 2000 服务器上安装了 DB2 Connect Enterprise Edition v8 fixpack 14,其中一个 Web 应用程序在调用内置 VBScript 函数FormatNumber时出现空数据错误。此数字数据由 SQL Server 查询检索,但填充 SQL Server 列的唯一方法是使用从前面的 DB2 查询返回的计算结果,在几个页面中进行。

当我安装 DB2 Connect EE 时,加载的组件之一是 MDAC 2.7。我按照公司的说明进行了安装,并保存了一个 ODBC 系统数据源,当我在安装后测试它时报告连接良好。

值得一提的是,生产 VB6 模块中的项目引用指向 MDAC 2.5。我已经尝试在我的测试服务器上重新编译并部署到 COM 引用 MDAC 2.7 的 VB6 模块的新版本。我的开发环境是 Windows XP Pro,安装了 MDAC 2.8 和 DB2 Connect EE v9.5。当我部署更新的 VB6 dll 时,CreateObject无法实例化类,并显示错误消息“该类不支持自动化或请求的接口”。

我已经回滚了 DB2 Connect 安装并重新安装了 DB2 运行时客户端的 v8,这是以前的环境。然而,问题仍然存在。

4

1 回答 1

0

我并没有真正了解事物是如何连接在一起的——SQL Server 在哪里,DB2 在哪里。
IBM 站点上有专门帮助 DB2 Connect EE 的论坛,我认为这是一个非常昂贵的产品(不确定)。

我见过人们这样做的一种方法是将 SQL 服务器配置为数据网关。您可以将 DB2 定义为链接服务器,然后通过 SQL 服务器执行 SQL 查询以访问 DB2。应用程序只需要能够连接到 SQL Server,而不需要直接连接到 DB2。他们间接接触到 DB2。根据系统上的负载,这对您可能可行,也可能不可行。您甚至可以使用这种方法对单独存储在 DB2 和 SQL 中的数据进行连接。

它是工具箱中的另一种选择,以及复制、数据联合等。我发现它减少了连接的可变性。

于 2009-03-07T20:24:33.700 回答