我在ASP页面遇到问题。这是一个登录页面,在允许访问主页面之前检查用户对数据库的凭据。我创建了一个调试器页面来查找错误详细信息,这是错误消息:
Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified.
这是我在登录网站时在网络服务器上遇到的错误消息。这里奇怪的是在我的机器(桌面)本地测试页面时一切正常(即使使用IIS和MSSQL服务器)。在部署和测试页面时,我也使用相同的连接字符串。
请提供帮助,任何建议或意见都将被大大接受。
谢谢, Nhoyti
答案 0 :(得分:7)
连接到SQL Server的典型ODBC连接字符串可能如下所示。
DRIVER={SQL Server};SERVER=127.0.0.1\SQLEXPRESS;DATABASE=dbname;
UID=userid;PWD=password
转到“控制面板” - >管理工具 - >数据源(ODBC)
尝试使用连接字符串中提供的信息创建用户DSN,并测试从生产服务器到SQL Server的ODBC连接。
答案 1 :(得分:6)
问题可能在于服务器本身的 ODBC配置 。换句话说,连接字符串[到ODBC源]是可以的(因为在其他服务器上测试过),但它引用了未在此特定服务器上配置的源。
要解决此问题,请打开ODBC数据源管理器(通常是“管理”工具菜单中的一个快捷方式),然后检查是否确实找到了具有相同名称的源(通常为“系统DSN”)在连接字符串中。这样的源可能是不合适的或不正确的配置。
除了性能方面的考虑,可以考虑在连接字符串级别使用更直接的数据提供程序(如MS SQL数据提供程序或Microsoft.Jet.OLEDB);这避免了服务器上的额外配置点(ODBC配置面板)(但是这可能需要使用两个不同的连接字符串,一个用于测试环境,一个用于生产环境......)
答案 2 :(得分:2)
我遇到了同样的问题(尝试通过Excel VBA连接MySQL时),我花了将近半天的时间来解决问题。由于frFormi对VBForums的回应,我终于解决了这个问题。
我正在运行Windows 7 64位系统,因此下载了64位系统的所有ODBC连接器。但是使用这个我无法将Excel连接到MySQL数据库&我无法运行将连接到数据库的宏。然而,在管理员工具上,ODBC驱动程序始终创建了与数据库的成功连接 - 所以我认为MySQL ODBC 5.1驱动程序可以正常使用。
然而,在64位系统上,您有两个连接器,一个32位和一个64位。文件" odbcad32.exe"位于" C:\ Windows \ SysWOW64 \" - 您将意识到没有列出MySQL ODBC驱动程序。 现在,基本上修复所有这些你还必须下载ODBC连接器32Bit并安装它。然后将驱动程序配置为您的数据库。您将意识到驱动程序不会是5.1而不是3.51 - 您还需要在VBA脚本中进行更改。然后它应该工作。
答案 3 :(得分:1)
我有一个相似但略有不同的问题和解决方案。
我当时使用的是64位Excel,而是需要64位驱动程序。
在我的情况下,我是在使用32位Excel时通过C#例程使用System.Runtime.InteropServices方法的;该例程在运行时会自动定义一组ODBC连接(仅安装32位位我的ODBC驱动程序)。例程打开并编辑Excel电子表格(作为模板-然后在关闭时重命名);在打开时,它使用此驱动程序为用户选择的数据库的当前目标名称重置一系列连接-MySQL数据库驱动一堆用于分析的数据透视表。
我为My ODBC安装了最新版本(可以在其中找到两个版本(5.3.13))。
安装了64位驱动程序后,无需进行任何更改,该例程重新开始工作。经过测试,可以同时安装两个版本,并且可以使用32位或64位MS Excel许可证在64位OS上运行。
感谢您的帮助。如果没有stackoverflow,我今天将无处可去!!
答案 4 :(得分:0)
去年我尝试连接MySQL服务器时出现此错误。尝试从my.ini中删除一行:“skip-name-resolve”(禁用名称解析),它不解析主机名,因为在这种情况下所有主机名都是IP或“localhost”。 或者尝试将“帐户”@“localhost”更改为“帐户”@“127.0.0.1”
答案 5 :(得分:0)
请注意,安装版本sqlcmd 15.0.1000.34需要同时安装这两个版本:
在安装过程中和运行时它将抱怨,并且错误消息可能无法反映现实情况。