当我尝试链接 SQL Server 中的数据表时,为什么 MS Access 2010 不显示我的系统 DSN 列表?

当我尝试链接 SQL Server 中的数据表时,为什么 MS Access 2010 不显示我的系统 DSN 列表?

最近,我所在的公司将我的电脑从 Windows XP 升级到了 Windows 7。在新电脑上,他们还将我的 MS Access 版本从 2003 更新到了 2010,还为我提供了一个新的域帐户。

将我旧 PC 上的所有以前的 ODBC 驱动程序作为系统 DSN 设置到新 PC 上之后(就像以前一样),我尝试打开我的一个旧 Access 数据库,并且可以打开任何数据表或通过链接的 ODBC 表访问 SQL Server 数据的查询。

我尝试打开来自不同数据库的各种表,但都打不开。我不断收到以下错误信息:

ODBC--Connection to 'MyDatabase' failed.

为了解决问题,我决定看看如果链接到不同的表会发生什么。进入我应该选择 ODBC 连接的屏幕后,我注意到我的 PC 上没有一个系统 DSN 显示在 Access 中。下面是我的 ODBC 设置的屏幕截图。上面的屏幕是 Access 中可用的 ODBC 连接。下面的屏幕是我的 Windows ODBC 管理屏幕,显示 ODBC DSN 存在。为什么在 Access 中找不到我的系统 DSN?

系统 DSN 未显示在 Access 中

简单说一下,我确实将其中一个连接设置为用户 DSN,我的 Access 数据库开始工作。短期内,我可以设置几个用户 DSN,但长期来看,我希望将我的连接定义为系统 DSN。

因为我可以通过用户 DSN 定义访问我的数据,所以我怀疑这不是由于我的 PC 是 64 位机器而引起的,而是由于驱动程序存在问题。

此外,我被告知我是电脑的管理员,我甚至可以切断电脑上的所有限制(即我总是切断 UAC),所以我怀疑这是一个权限问题。但是,我想可能是这样。我该怎么做才能诊断这个问题,并希望修复它?

答案1

我认为您对新的 64 位 PC 的好奇心是正确的。

我敢打赌,您的新 Access 是 64 位的,而您的 ODBC 驱动程序是 32 位的,或者可能正好相反。它们的位数需要匹配。

本文可能有助于解释事情......

答案2

是的,这是 32/64 位问题。我发现,如果您在 MS-Access 外部数据向导中设置 DSN,那么您将设置 Access 可以使用的 DSN。

相关内容