在启动MS-Access应用程序时,我有这些错误消息(有VBA代码)。
当我在第一个错误消息中单击OK并在第二个错误消息中单击调试时,调试器打开并指向一行:"Set oServer = New SQLDMO.SQLServer“
我意识到这是SQL的一个问题,但似乎无法注册DLL。
我的环境:Win7 Pro 64-bit,Office 2010 64-bit,MS SQL Server 2008 R2 SP2 64-bit。
我从微软下载了向后兼容包,运行了MSI,什么都没有。尝试手动安装,并获得错误消息:
R6034 for C:\Windows\System32\regsvr32.exe,当我单击Ok ->模块"SQLDMO.DLL“时,加载失败。Make sure the binary is stored at the specified path or debug it...诸如此类C:\Windows\SysWOW64注册它时,我得到了"The module "SQLDMO.DLL" may not (be) compatible with the version of Windows that you're running. Check if the module is compatible with....“我已经检查了SQLDMO.DLL的版本,它绝对是64位的。我已经找到了SQL需要的所有其他all,并将它们存储在SysWOW64和System32中。
我运行了Office repair、Windows Update、SQL Server repair (日志文件表示客户端工具向后兼容的所有功能)。
任何帮助都是非常感谢的。谢谢,Miki。
发布于 2012-11-25 02:49:32
不知道我是如何做到的,但是(不知怎么的)我成功地注册了64位SQLDMO.DLL (在它还没有真正注册它之前),然后在我的VBA代码->工具->引用中.我试图从64位文件夹加载SQLDMO.DLL。起初,它不起作用,然后我在SysWOW64中放置了DLL的副本(这是一个32位的文件夹)并从那里注册它(显然,一旦它注册了,系统就不再需要它了--我删除了它,它仍然工作)。然后我想弄清楚它是怎么起作用的。我签了VBA代码中的参考表,Microsoft对象库仍然指向C:\Program (x86)\Microsoft \80\Tools\Binn,但是当我从其中删除SQLDMO.DLL时,它仍然工作.然后我查看了C:\Program \Microsoft\80\Tools\Binn并从那里删除了SQLDMO.DLL,然后它就停止工作了!我不知道发生了什么,也不知道为什么引用表说它指向一个文件夹,但实际上指向另一个文件夹,或者在之前的尝试之后,它是如何工作的。我希望能够复制(如果我需要再次经历这个过程),所以任何想法/建议都会非常感谢。谢谢,Miki。
https://stackoverflow.com/questions/13526222
复制相似问题