MySQL ODBC 问题:未找到数据源名称且未指定默认驱动程序

MySQL ODBC 问题:未找到数据源名称且未指定默认驱动程序

我目前正在尝试运行一个经典的 ASP 应用程序,我已获得该应用程序的源代码。我想在我的 64 位 Windows 7 开发计算机上进行设置,但在使用基于 ODBC 的数据连接到 MySQL 实例时遇到了问题。

我看到了以下错误:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Driver Manager] Data source name not found 
and no default driver specified

/includes/<File Name>.asp, line 100

我尝试过的:

  • 该连接无 DSN。
  • 该应用程序在具有本地系统权限的 IIS 应用程序池下运行。可以在进程监视器中看到 w3wp.exe 在 NT AUTHORITY/SYSTEM 下运行。
  • 该应用程序在 IIS 应用程序池下运行,允许运行 32 位应用程序。
  • 尝试过仅安装 Connector/ODBC 5.1.10 64 位版本http://dev.mysql.com(此时 C:\Windows\SysWOW64\odbcad32.exe 下没有列出驱动程序,但 C:\Windows\system32\odbcad32.exe 下有列出)
  • 尝试过仅安装 Connector/ODBC 5.1.10 32 位版本http://dev.mysql.com(此时 C:\Windows\system32\odbcad32.exe 下没有列出驱动程序,但 C:\Windows\SysWOW64\odbcad32.exe 下有)
  • 已尝试安装 Connector/ODBC 5.1.10 32 位和 64 位版本。
  • 已验证司机姓名拼写无误。以及此处的其他检查http://support.microsoft.com/kb/306345

    驱动程序 = {MySQL ODBC 5.1 驱动程序};服务器 = localhost;数据库 = DBName;用户 = root;密码 = 密码;选项 = 3

附加信息:

我在进程监视器中监视,两个结果是:

路径未找到(正在查找 .asp/web.config,这似乎很奇怪。缓冲区溢出

两个条目均显示:

用户: NT AUTHORITY\SYSTEM

进程:C:\Windows\SysWOW64\inetsrv\w3wp.exe C:\Windows\SysWOW64\odbcint.dll

我很困惑,有人能就如何在我描述的上下文中运行它提出建议吗?

答案1

现在问题解决了。记录在这里,以防对其他人有用。

这个问题比乍一看要简单得多。问题在于应用程序使用了命名和未命名数据源 (DSN / DSN-Less) 的混合。

在我设置应用程序以在 Visual Studio 中进行调试之前,我并不清楚是否使用了任何命名连接。以下是在 Visual Studio 中调试应用程序的粗略指南(除了我使用基于 HTTP 的网站,而不是文件系统):

http://www.codeproject.com/Articles/28792/Debugging-Classic-ASP-VBScript-in-Visual-Studio-20

创建所需的 DSN 后,数据库列中的默认值又引发了一些异常。这是由于可以在 my.ini 文件中更改的 MySQL 设置所致。

http://bugs.mysql.com/bug.php?id=14306

C:\Program 文件(x86)\MySQL\MySQL 服务器 5.5\my.ini

# Set the SQL mode to strict
# sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
sql-mode=""

相关内容