首页  >  问答  >  正文

为什么我收到“未找到数据源名称且未指定默认驱动程序”的信息以及如何修复它?

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

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

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

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

P粉080643975P粉080643975387 天前798

全部回复(2)我来回复

  • P粉147045274

    P粉1470452742023-10-19 13:15:54

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

    回复
    0
  • P粉221046425

    P粉2210464252023-10-19 12:51:59

    什么原因导致此错误?

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

    这可能有 3 个常见原因:

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

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

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

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

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

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

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

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

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

    ODBC 连接字符串如下所示:

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

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

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

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

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

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

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

    回复
    0
  • 取消回复