我正在尝试移动网络服务器。我们的应用程序(善良)在1998年写回(我认为)在VB6中。我已经在我们的新服务器上工作了(Windows Server 2008 R2 64位)。但是,当我在我的机器上获取源代码(Windows 7 64位)并将该exe文件传输到服务器时,应用程序在尝试连接到具有以下错误的数据库时崩溃:“Error 430(Class does not support自动化或不支持预期的接口)“VB6应用程序在重新编译后无法在Server 2008上运行
该项目引用Microsoft Activex数据对象2.8库。错误是
Set conn = New adodb.Connection
所以,它并不是实际尝试连接到数据库,而是试图创建对象时纯粹爆炸。
任何人都有这种错误的经验吗?或者对我有什么建议?谷歌有几种可能性,但没有一种可能。他们大多数都与公共控制和使用“项目兼容性” - 但我的应用程序运行“无人参与执行”,所以我不能选择(它在项目属性中完全禁用)。
您是否尝试制作崩溃的最小项目示例?你如何声明'conn'? – MicSim 2011-03-29 06:33:59
对不起MicSim - 今晚我回家时我会试试这个(我的9-5工作不是问题,所以代码只在我的家用机器上)。但我相对肯定conn被声明为Dim conn ADODB.Connection(早期绑定,不迟到,今晚我会尝试晚期绑定)。 – 2011-03-29 14:21:18
延迟绑定确实解决了这个问题。就编码而言,它并不是最优的,但是,嘿,至少它是有效的。 – 2011-04-01 15:36:16