Ответ 1
Похоже, что вы установили 32-разрядный DSN с помощью 64-битного администратора ODBC:
http://msdn.microsoft.com/en-us/library/ms712362(VS.85).aspx
Попробуйте использовать этого администратора ODBC:
C:\Windows\SysWOW64\odbcad32.exe
Я получаю следующее исключение ODBC, когда я переместил мою платформу разработки из Windows XP X86 в Windows 7 X64:
ERROR [IM014] [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application
Я уверен, что это означает, что сервер, к которому он подключается, составляет 32 бит, а компьютер, на котором я запущен, составляет 64 бит, а используемый драйвер ODBC - 64 бит.
Приложение, которое я пишу, настроено на запуск в 32-битном режиме, потому что некоторые из сторонних программ, которые мы используем, не совместимы с 64-разрядными версиями.
Я попробовал загрузить 32-битный драйвер и сменить DSN, но он не исправил мою проблему. Я все еще получаю исключение.
Если у кого-то есть ссылки для 32-битных SQL-драйверов или какие-либо идеи о том, как я могу это исправить, изменив проект, я все уши.
Спасибо заранее,
-Jrud -
Похоже, что вы установили 32-разрядный DSN с помощью 64-битного администратора ODBC:
http://msdn.microsoft.com/en-us/library/ms712362(VS.85).aspx
Попробуйте использовать этого администратора ODBC:
C:\Windows\SysWOW64\odbcad32.exe
Если вы наберете ODBC из меню Пуск → Поиск программ, в нем будут перечислены только 32-разрядные администраторы ODBC, а не 64-битная консоль. Microsoft скрывает 64-битный администратор от поиска.