为什么我收到'未找到数据源名称且未指定默认驱动程序”的信息以及如何修复它?
P粉080643975
P粉080643975 2023-10-18 13:56:36
0
2
862

当尝试在 Windows 上编写一个通过 ODBC 连接到数据库的程序时,出现以下错误:

[Microsoft][ODBC 驱动程序管理器] 未找到数据源名称且未指定默认驱动程序。

我确信我的代码是正确的。它甚至可以在另一台电脑上运行。

为什么我会收到此错误?我该如何修复它?

P粉080643975
P粉080643975

全部回复(2)
P粉147045274

在设计模式下,已将值设置为属性 TFDConnection.ConnectionDefName 必须为空。

P粉221046425

什么原因导致此错误?

简单地说,错误消息告诉您 ODBC 驱动程序管理器找不到您在连接字符串或 DSN 中指定的驱动程序。

这可能有 3 个常见原因:

  1. 您尝试使用的驱动程序未安装在您的系统上
  2. 驱动程序已安装,但与您正在运行的代码的位数不匹配
  3. 您在输入驱动程序名称时出错

如何检查我的系统上安装了哪些驱动程序?

您可以通过转至 ODBC 数据源管理器来检查系统上安装的驱动程序。要打开它,请按 ⊞ Win + R,然后输入:odbcad32.exe。然后检查选项卡驱动程序以获取已安装的驱动程序。 名称列指示您应在连接字符串或 DSN 中使用的确切名称。

如果您使用的是 64 位 Windows,则仅列出安装在 你的系统。要查看安装了哪些 32 位驱动程序,请按 ⊞ Win + R,然后输入:C:\Windows\SysWOW64\odbcad32.exe code>,然后再次转到“驱动程序”选项卡。

驱动程序已安装,但可能位数错误,我该怎么办?

然后,您有两个选择,要么调整程序运行的位数,要么安装具有不同位数的驱动程序。

Windows 上默认安装的某些驱动程序仅具有 32 位变体。这些不能与 64 位程序一起使用。

您通常可以在任务管理器中识别程序正在运行的位数。在 Windows 10 中,所有 32 位程序的名称后都会附加 (32-bit)。如果不存在,则您可能正在运行 64 位程序,并且大多数现代编程语言和环境默认在 64 位上运行,但允许您切换到 32 位。但是,不同编程语言的具体细节超出了本问题的范围。

如何验证我没有输错驱动程序名称?

ODBC 连接字符串如下所示:

DRIVER={DriverName};ParameterName1=ParameterValue1;ParameterNameN=ParameterValueN;

如果驱动程序名称部分可能包含特殊字符,则需要用大括号分隔,并且需要与已安装的驱动程序名称完全匹配(如 ODBC 数据源管理器中所示),包括空格和印刷字符,但不包括大写字母。

请注意,对于已部署的代码,驱动程序必须存在于运行代码的计算机/服务器上。

我没有驱动程序,或者位数错误,我在哪里可以获得正确的驱动程序?

这取决于您要使用哪个驱动程序。

常见驱动程序列表及下载位置(所有 32 位和 64 位均位于同一 URL):

如果您要使用的驱动程序未列出,通常可以使用 Google 轻松找到该位置。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板