如何从Web应用程序修复与DB2的断开连接?

时间:2009-03-07 20:19:45

标签: vb6 asp-classic db2

我支持一些旧的 Web应用程序,用于UI的基于VBScript的ASP和用于业务和数据访问层的VB6 COM模块。上周末,我在几台Windows 2000服务器上安装了DB2 Connect Enterprise Edition v8 fixpack 14,当调用内置的VBScript函数 FormatNumber 时,其中一个web应用程序错误地出现在null数据上。此数字数据由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,这是以前的环境。然而,问题仍然存在。

1 个答案:

答案 0 :(得分:0)

我真的不知道事情是如何连接在一起的 - SQL Server在哪里以及DB2在哪里 IBM的网站上有专门用于帮助DB2 Connect EE的论坛,我认为这是一个相当昂贵的产品(不确定)。

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

它是工具箱中的另一个选项,还有复制,数据联合等。我发现它减少了连接的可变性。