Odbc-драйвер версии 2.x, но в Visual Studio используется версия 3.x.
Нужно как-то заставить приложение использовать версию 2.x
В данный момент возникает ошибка: «Драйвер не поддерживает версию поведения ODBC, запрошенную приложением (см. SQLSetEnvAttr)».
- но не находит способа указать приложению использовать другую версию
Попытка установить связь с системой Honeywell.
Они не известны тем, что делятся данными, но есть ODBC-драйвер, написанный кем-то около 15 лет назад.
При работе на сервере Windows 2003 и компилировании (на том же сервере) в Visual Studio 2005 приложение работает.
То же приложение, запущенное на другом сервере: не работает.
Приложение, скомпилированное (x86) на любой другой машине: не работает, ни на старом сервере, ни на новом.
Находит не свойства или методы в System.Data.Odbc.OdbcConnection
, чтобы установить версию ODBC для использования.
На данный момент вы не получаете "ошибки" при запуске приложения:
Он подключается к DSN, и пользователь проходит проверку подлинности.
(Изменение имени пользователя или пароля приводит к ошибке)
- но данные не извлекаются.
Выполнение трассировки для вызовов к драйверу ODBS дает:
DIAG [IM006] [Microsoft] [Диспетчер драйверов ODBC] Драйверы
Ошибка SQLSetConnectAttr (0)
DIAG [01000] [Microsoft] [Диспетчер драйверов ODBC] Драйвер не
поддерживать версию поведения ODBC, запрошенную приложением
(см. SQLSetEnvAttr). (0)
....
DIAG [IM006] [Microsoft] [Диспетчер драйверов ODBC] Драйверы
Ошибка SQLSetConnectAttr (0)
DIAG [HY096] [Honeywell] [ODBC Driver] Тип информации вне диапазона (1043)
....
DIAG [HYC00] [Honeywell] [Драйвер ODBC] Драйвер не поддерживается (1010)
Итак, поскольку нет более нового драйвера для использования - мне нужно, чтобы мое приложение использовало ODBC 2.x - но оно все еще использует ODBC 3.x.