我正在尝试运行一个经典的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
我尝试了什么:
已验证的驱动程序名称未拼写错误。与此处http://support.microsoft.com/kb/306345的其他检查一起。
Driver = {MySQL ODBC 5.1 Driver}; Server = localhost; Database = DBName; User = root; Password = Password; Option = 3
其他信息:
我在进程监视器中进行监视,结果如下:
路径未找到(寻找.asp / web.config这看起来很奇怪。 BUFFER OVERFLOW
两个条目都显示:
用户:NT AUTHORITY \ SYSTEM
过程: C:\ WINDOWS \ Syswow64资料\ INETSRV \程序w3wp.exe C:\ Windows \ SysWOW64 \ odbcint.dll
我很困难,任何人都可以就我如何在我描述的环境中运行这个问题提出建议吗?
答案 0 :(得分:0)
现在解决了这个问题。记录此处以防其他人使用。
这个问题比最初出现的问题简单得多。问题是该应用程序使用了命名和未命名数据源的混合(DSN / DSN-Less)。
在我设置Visual Studio中的调试应用程序之前,使用任何已命名的连接并不明显。以下是在visual studio中调试应用程序的粗略指南(除非我使用基于HTTP的网站,而不是文件系统):
http://www.codeproject.com/Articles/28792/Debugging-Classic-ASP-VBScript-in-Visual-Studio-20
在创建所需的DSN之后,还会针对数据库列中的默认值抛出一些其他异常。这是因为MySQL设置可以在my.ini文件中更改。
http://bugs.mysql.com/bug.php?id=14306
C:\ Program Files(x86)\ MySQL \ MySQL Server 5.5 \ my.ini
# Set the SQL mode to strict
# sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
sql-mode=""
答案 1 :(得分:0)
我发现这可以从Windows到MySQL
作为DSN-less
连接工作。诀窍是 ELIMINATE 服务器地址末尾的端口规范。
"DRIVER={MySQL ODBC 5.3 UNICODE Driver}; Server=**;Database=**;User=**;Password=**; OPTION=3"
注意:服务器字符串是服务器的互联网地址,但没有端口 指定 - 即,否#&#34;:3306&#34;最后