错误:[Microsoft][ODBC Driver Manager] 未找到数据源名称且未指定默认驱动程序

Posted

技术标签:

【中文标题】错误:[Microsoft][ODBC Driver Manager] 未找到数据源名称且未指定默认驱动程序【英文标题】:ERROR : [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified 【发布时间】:2010-09-21 23:00:54 【问题描述】:

在将 .net 连接到 sybase 服务器时,我收到以下错误消息:

[Microsoft][ODBC Driver Manager] 未找到数据源名称且未指定默认驱动程序

这以前可以正常工作。具有相同细节的系统 DSN 工作和通过 vs.net 的数据连接也工作。

我正在使用 vs.net 2005。

有什么建议吗?

【问题讨论】:

我知道这个问题已经过时并且适用于 vs.net 2005,但我使用的是 Visual Studio 2015 Professional,并且我的解决方案中开始出现此错误。这是一个使用 32 位 ODBC 用户 DSN 的 win32 程序。由于我的数据库没有可用的 64 位驱动程序,我不得不使用 32 位。当我删除我的 .sou 文件(以修复 IDE 问题)时,Visual Studio 将我的构建设置交换回 x64(并导致此错误)。就我而言,修复很简单......只需将配置重新设置为win32。在 IDE 中,右键单击解决方案名称->将“平台”更改为 Win32)。 【参考方案1】:

如果您使用的是 x64 服务器,请记住 x86 和 x64 应用程序有不同的 ODBC 设置。管理工具列表中的“数据源 (ODBC)”工具将您带到 x64 版本。要查看/编辑 x86 ODBC 设置,您需要手动运行该版本的工具:

%windir%\SysWOW64\odbcad32.exe (%windir% is usually C:\Windows)

当您的应用以 x64 运行时,它将使用 x64 数据源,而当它以 x86 运行时,它将改用这些数据源。

【讨论】:

我在这里尝试过,但它总是让我的 ODBC 管理员崩溃,有什么想法吗? 我需要在 32 位应用程序的设置中更改什么? 请将此标记为答案,因为它是问题的正确解决方案,【参考方案2】:

我遇到了类似的错误,通过从以下位置安装相应的 mysql 驱动程序已解决:

http://www.connectionstrings.com/mysql-connector-odbc-5-2/info-and-download/

并通过执行以下步骤:

    转到左侧菜单中的 IIS 和应用程序池。 选择分配给项目的相关应用程序池。 单击设置应用程序池默认值。 在“常规”选项卡中,将启用 32 位应用程序条目设置为“True”。

参考:

http://www.codeproject.com/Tips/305249/ERROR-IM-Microsoft-ODBC-Driver-Manager-Data-sou

【讨论】:

感谢 Honk 编辑 谢谢,对我来说,没有安装 MySQL-connector 32bit【参考方案3】:

对于最近遇到此问题的任何人,我在 Windows 网络上遇到了这个问题,并提供了一个额外的检查:

Python 脚本连接可以在我的 (linux) 机器上通过命令行工作,但一些用户在连接时遇到问题 - 它从 CLI 工作表明 DSN 和凭据是正确的。对我们来说,问题是组安全策略要求在每台机器上设置 ODBC 凭据。一旦我们添加了(出于某种原因,用户拥有我们各种系统所需的四个 ODBC 凭据中的三个),他们就能够连接。

您当然可以在组级别执行此操作,但由于这是一台机器的简单遗漏,我在Control Panel > ODBC Drivers > New 中执行了此操作

【讨论】:

【参考方案4】:

执行以下步骤:

    在“运行”窗口中键入regedit 启动注册表编辑器。 在注册表中选择以下项:HKEY_LOCAL_MACHINE\SOFTWARE\ODBC。 在“安全”菜单中,单击“权限”。 向用于建立连接的帐户授予完全权限。 退出注册表编辑器。

【讨论】:

以上是关于错误:[Microsoft][ODBC Driver Manager] 未找到数据源名称且未指定默认驱动程序的主要内容,如果未能解决你的问题,请参考以下文章

PHP 警告:odbc_connect():SQL 错误:[Microsoft][ODBC Microsoft Access Driver]一般错误无法打开临时注册表项(易失性)

授予 Simba ODBC 驱动程序或 bigrquery 访问 Google Drive 文件的权限

odbc_exec():SQL 错误:[Microsoft][ODBC Microsoft Access Driver] 参数太少。预期 1.,SQLExecDirect 中的 SQL 状态 0700

为啥明明安装了mysql的odbc驱动,却老是提示系统错误126

Microsoft Access 和 Java JDBC-ODBC 错误

Windows XP 上的错误 [IM002] [Microsoft][ODBC 驱动程序管理器]