ODBC 管理器工具将显示在 64 位版本的 Windows 32 位和 64 位用户 Dsn

文章翻译 文章翻译
文章编号: 942976 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

症状

64 位版本的 MicrosoftWindows操作系统的系统包括下面的版本Microsoft 开放式数据库连接(ODBC) (ODBC) 数据源管理器工具 (Odbcad32.exe):
  • Odbcad32.exe 文件的 32 位版本位于%systemdrive%\Windows\SysWoW64 文件夹中。
  • Odbcad32.exe 文件的 64 位版本位于%systemdrive%\Windows\System32 文件夹中。
Odbcad32.exe 文件将显示以下类型的数据源名称 (Dsn):
  • 系统 Dsn
  • 用户 Dsn

症状 1

32 位系统 Dsn,32 位用户 Dsn,64 位用户 Dsn,将显示 ODBC 管理器工具的 32 位版本。64 位系统 Dsn,32 位用户 Dsn,64 位用户 Dsn,将显示 ODBC 管理器工具的 64 位版本。

症状 2

SQLDataSources函数将返回所有用户 Dsn,无论该应用程序的体系结构的版本。在 32 位应用程序中调用SQLDataSources函数返回仅系统 Dsn 的 32 位驱动程序,但返回用户 Dsn 的 32 位驱动程序和 64 位驱动程序。同样,在一个 64 位应用程序中调用SQLDataSources函数返回仅系统 Dsn 的 64 位驱动程序,但返回用户 Dsn 的 32 位驱动程序和 64 位驱动程序。因此,如果应用程序通过使用 DSN,从SQLDataSources函数返回的用户进行连接,您可能会收到以下错误消息:
找不到的数据源名称并且未指定默认驱动程序
例如,请考虑下面的方案。创建用户 DSN 的 32 位驱动程序"Microsoft Access Driver (*.mdb)"。该驱动程序没有相应的 64 位版本。在 64 位应用程序中调用SQLDataSources函数返回此 32 位用户 DSN。但是,如果您通过此 32 位用户 DSN 的连接,您将收到本节中前面提到的错误消息。

原因

存储在用户 Dsn下面的注册表子项:
HKEY_CURRENT_USER\Software\ODBC\ODBC.INI
注册表没有为此注册表子项启用重定向。因此,用户 Dsn 将显示在 ODBC 管理器工具的 32 位和 64 位版本。

解决方案

为了保持向后兼容性,是目前没有解决此问题。

替代方法

若要变通解决此问题,请使用 ODBC 管理器工具的适当版本。如果您生成并运行应用程序作为 32 位应用程序在 64 位操作系统上,必须通过使用 %windir%\syswow64\odbcad32.exe 中的 ODBC 管理器工具来创建 ODBC 数据源。若要指示类型的 DSN,可以向 64 位用户 Dsn 添加到 32 位用户 Dsn 的"_32"和"_64"。

更多信息

64 位 ODBC 管理器工具可以从控制面板来管理用户 Dsn 和所使用的 64 位进程的系统 Dsn 来调用。在 64 位操作系统上 32 位 ODBC 管理器工具用于为 Windows 的 Windows 64 (WOW64) 进程。您必须直接调用 SysWoW64 文件夹中的 32 位 ODBC 管理器工具。32 位 ODBC 管理器工具可用于管理用户 Dsn,并由 WOW64 进程使用的系统 Dsn。

系统 Dsn 存储在以下注册表子项中:
HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI
注册表重定向已启用此注册表子项。因此,分隔系统 Dsn 为 32 位驱动程序和 64 位驱动程序。64 位 ODBC 管理器工具不会显示系统,由 32 位 ODBC 管理器工具创建 Dsn。同样地,32 位 ODBC 管理器工具不会显示系统 Dsn,64-位 ODBC 管理器工具创建的。此外,64 位 ODBC 管理器工具不会显示的系统 Dsn 使用 32 位驱动程序。同样地,32 位 ODBC 管理器工具不会显示的系统 Dsn 使用 64 位驱动程序。

用户 Dsn 存储在以下注册表子项中:
HKEY_CURRENT_USER\Software\ODBC\ODBC.INI
未启用此注册表子项的注册表重定向。因此,这两个 ODBC 管理器工具将显示所有用户 Dsn。

有关注册表的详细信息重定向,请访问下面的 Microsoft 开发人员网络 (MSDN) Web 站点:
http://msdn2.microsoft.com/en-us/library/aa384232.aspx

属性

文章编号: 942976 - 最后修改: 2013年5月13日 - 修订: 5.0
这篇文章中的信息适用于:
  • Microsoft Open Database Connectivity 4.21
关键字:?
kbexpertiseadvanced kbtshoot kbprb kbmt KB942976 KbMtzh
机器翻译
重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。
点击这里察看该文章的英文版: 942976
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com