[当尝试在Windows上通过ODBC连接到数据库的程序时,出现以下错误:
[[Microsoft] [ODBC驱动程序管理器]找不到数据源名称,也未指定默认驱动程序。
我确定我的代码是正确的。它甚至可以在其他PC上运行。
为什么会出现此错误?以及我该如何解决?
简单地说,错误消息告诉您ODBC驱动程序管理器找不到您在连接字符串或DSN中指定的驱动程序。
这可能有3个常见原因:
您可以通过转到ODBC数据源管理器来检查系统上安装的驱动程序。要打开它,请按⊞Win + R,然后输入:odbcad32.exe
。然后检查选项卡驱动程序中已安装的驱动程序。 Name列指示您应该在连接字符串或DSN中使用的确切名称。
如果您使用的是64位Windows,则仅列出安装在64位Windows上的64位驱动程序你的系统。要查看安装了哪些32位驱动程序,请按⊞Win + R,然后键入:C:\Windows\SysWOW64\odbcad32.exe
,然后再次进入Drivers选项卡。
然后,您有两种选择,要么调整正在运行程序的位数,要么安装具有不同位数的驱动程序。
Windows上默认安装的某些驱动程序只有32位版本。这些不能与64位程序一起使用。
您通常可以在任务管理器中确定程序在哪个位上运行。在Windows 10中,所有32位程序都在其名称后附加了(32位)。如果不存在,则您可能正在运行64位程序,并且大多数现代编程语言和环境默认情况下都在64位上运行,但允许您切换到32位。但是,不同编程语言的详细信息不在此问题的范围内。
ODBC连接字符串看起来像这样:
DRIVER={DriverName};ParameterName1=ParameterValue1;ParameterNameN=ParameterValueN;
如果驱动程序名称部分可能包含特殊字符,则需要用大括号分隔,并且需要与ODBC数据源管理器中找到的已安装驱动程序名称完全匹配,包括空格和印刷字符,但大写除外。] >
请注意,对于已部署的代码,驱动程序必须
位于运行该代码的计算机/服务器上。取决于您要使用的驱动程序。
具有下载位置的通用驱动程序列表(所有32位和64位在同一URL上:]
如果未列出您要使用的驱动程序,则通常可以使用Google轻松找到该位置。