错误:[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