我遵循了这里的建议:
https://stackoverflow.com/questions/6721702/windows-7-64-bit-odbc-drivers-for-ms-access-missing
但它并不适用。
我有64位的Oracle驱动程序。如果我在管理工具中单击ODBC mmc,我可以看到DSN。在我的ODBC管理员属性中,它似乎指向64位版本的ODBC管理员,这很好:
%windir%system32odbcad32.exe
如果我使用此版本的ODBC管理员,我可以通过mmc查看Oracle驱动程序和DSN。但是,当我转到Microsoft Access 2007(32位)并单击外部数据ODBC时,我的32位ODBC管理员正在打开,它没有驱动程序。
Access 2007 32位是否可以使用64位驱动程序连接到数据库(本例中为oracle)?该驱动程序在所有其他应用程序中都能正常工作,只是Access无法正常工作。如何让Access使用64位ODBC管理员?
编辑:
为了澄清,问题是Access正在打开32位版本,即syswow64版本。我需要它来打开本机64位版本,但它没有打开。问题是Microsoft Access一直在打开32位版本。我需要它来打开64位版本。ODBC管理员的MMC指向64位版本,但Microsoft Access一直打开32位版本。我需要它来打开64位版本。谢谢你的帮助。
Win7有两个odbcad32.exe可执行文件。system32中的那个,在所有愚蠢的东西中,实际上是64位接口。
对于真正的32位ODBC设置,您需要使用c:\windows\syswow64\odbcad32.exe
下次见到比尔·盖茨时,你可以向他扔一个番茄,并代表整个地球的人民感谢他做出的如此愚蠢的设计决定。他可能不再掌管M$,但这仍然是他的错。。。Windows的一切都是他的错。