我正在尝试将Access数据库(2010 32位)连接到Windows 7 PC(64位)上的系统ODBC连接
但是,当我尝试链接到它的机器数据源时,我找不到我创建的ODBC数据源。
我知道32位应用程序和64位驱动程序之间存在问题。 并且有两个版本的ODBC数据源管理员
我已经尝试了两种方法,似乎都没有人能够创建一个对我来说可见的ODBC源代码。我怎样才能使这个工作?
注意:用户数据源似乎工作正常,但系统数据源却没有。
我正在使用的数据源是一台单独的计算机上的MS SQL Server 2008数据库。
答案 0 :(得分:4)
您是否尝试过使用Access创建一个?当您选择外部数据源odbc时,您有机会从Access内部创建DSN。并且您可以在那个时间点创建系统DSN。 (Access将为您启动正确版本的ODBC管理器。)
因为Access是32位,所以这些系统DSN的位置就在这里:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ ODBC \ ODBC.INI \ SYSTEM DSN的名称
所以你必须启动32位版本。
(但是,真的让Access为你推出这个很容易)。
因此,如果启动32位版本的ODBC管理器,那么这个:
C:\的Windows \ Syswow64资料\ odbcad32.exe的
然后你应该没事(所以不要使用控制面板中的那个)。
因此,如果您使用32位版本(来自sysWOW的版本)创建系统DSN,那么当您启动相同的odbc管理器时,您应该在Access中看到它。你看到了这个:
在上面,我创建了两个系统DSN,一个来自让Access启动管理器,另一个来自laucnhes来自cmd提示符的syswow版本 - 无论哪种方式,你都应该看到这个列表。
答案 1 :(得分:1)
设置ODBC数据源的快捷方式可能是指向32位数据源而不是64位数据。
转到控制台 - >管理工具 - >选择数据源(ODBC) - >然后右键单击该文件 - >去属性 - >在快捷方式选项卡中 - >将路径从%windir%\ System32 \ odbcad32.exe更改为
%windir%\ SysWOW64 \ odbcad32.exe
并建立连接。 MS Access的驱动程序现在可以正常工作。