我有一个使用 VBA 用 MS ACCESS 2007 编写的应用程序,连接到后端的 SQL Server。Access 和 SQL Server 都在本地运行。我的机器运行 Access 2010 和 MS SQL Server Express 2008 R2(都是 32 位,在 WinXP 上)没有问题。
我有另一台机器,Win7 64 位,运行 Access 2010 和 SQL Server 2008(不是 R2)64 位。
当我在 64 位机器上运行 Access 应用程序时,我有一个下拉框来选择保存各种数据库的 SQL Server。当我选择服务器时,几秒钟后我收到一个错误:
运行时错误“-2147024703 (800700c1)”:
自动化错误 %1 不是有效的 Win32 应用程序。
当我选择调试选项时,黄色箭头指向:
Set oServer = New SQLDMO.SQLServer
下一行是:
oServer.Connect ServerName, strSQLUser, strSQLPwd
在监视列表中,我可以看到ServerName
、strSQLUser
和 strSQLPwd 拥有访问 SQL Server 的正确值。我已经在 sqlcmd 中测试了这些,并且成功地能够查询表。
谁能帮我解决这个问题?我不确定下一步该怎么做。