В настоящее время я пытаюсь запустить классическое приложение 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.
Драйвер = {Драйвер MySQL ODBC 5.1}; Сервер = localhost; База данных = Имя DB; Пользователь = root; Пароль = Пароль; Параметр = 3
Дополнительная информация:
Я отслеживаю в мониторе процесса и получаю два результата:
ПУТЬ НЕ НАЙДЕН (Ищем .asp / web.config, что кажется странным. ПЕРЕПОЛНЕНИЕ БУФЕРА
Обе записи показывают:
Пользователь: NT AUTHORITY \ SYSTEM
Процесс: C: \ Windows \ SysWOW64 \ inetsrv \ w3wp.exe C: \ Windows \ SysWOW64 \ odbcint.dll
Я в тупике, может ли кто-нибудь предложить, как мне запустить это в описанном мной контексте?
Решил проблему сейчас. Запись здесь на случай, если это будет полезно другим.
Проблема была намного проще, чем казалось на первый взгляд. Проблема заключалась в том, что приложение использовало смесь именованных и безымянных источников данных (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=""