Диспетчер драйверов odbc драйвер не поддерживает данную функцию
Но есть удаленная MySQL. Решил пробовать через ODBC, что бы подключаться к обеим базам, меняя только строку подключения.
Во время MyConnection.Open(); эта ошибка и вылезает.
В источниках данных создал некий источник с именем Name, вбил все данные для удаленного MySQL и нажав на кнопочку Test получил уведомление, что соединение успешно (да и базы данных из раскрывающегося меню подтягиваются сами).
При этом, такой код вполне работает:
Тут я подключаюсь к своей MSSQL базе. Правда почему-то ругается на пару логин/пароль (не знаю почему, пока ищу ответ), но по крайней мере он видит базу данных.
Добавлено через 38 минут
Небольшая наводка из наблюдений и догадок.
У меня есть сторонняя программа, которая так же использует ODBC соединение. При вводе данных сервера она выдает туже ошибку, что у меня. Но у нее имеется возможность коннектиться через DSN. И вот если я пропишу упомянутый выше источник данных "Name" с теми же самыми данными сервера (а как я писал, кнопка Test - выдает Successfus), то эта программа нормально соединяет.
Добавлено через 3 часа 35 минут
Разобрался. Для таких же как я еще раз по полочкам:
Хотим создать подключение к MSSQL и MySQL через ODBC.
//MSSQL
string MyConString - строка подключения
DRIVER - название используемого драйвера для общения с MSSQL/MySQL (ниже подробнее)
SERVER - имя сервера MSSQL/MySQL или его IP-адрес (242.54.12.52).
DATABASE - имя базы данных
UID - имя пользователя для входа на сервер MSSQL/MySQL
PASSWORD - пароль для входа на сервер MSSQL/MySQL
OPTION - без понятия. Вроде и без нее работает.
Если строчка MyConnection.Open(); не выдала ошибку, то все в порядке, мы имеем доступ к базе данных.
После установки приведенный выше код уже должен работать.
Проверить драйвера на Windows 7, можно запустив
c:\Windows\System32\odbcad32.exe - для 32-битных систем
c:\Windows\SysWOW64\odbcad32.exe - для 64-битных систем
и открыв вкладку "Драйвера".
У меня например была ошибка IM0002 (источник Данных не найден и не указан драйвер по умолчанию).
По странной причине драйвера у меня слетели, но отображались созданные по ним "Пользовательские DSN" (все там же в odbcad32.exe).
Попытки "Настроить" или "Удалить" эти DSN система блокировала ссылаясь на то, что "такой драйвер не доступен". Решил это тем, что поставил поверх старых, новые драйвера и добавил "Пользовательские DSN" с тем же именем, заменив старые.
После этого появилась ошибка IM014 (В указанном DSN архитектура драйвера и архитектура приложения не соответствуют друг другу)
У меня стоит Wimdows 7 64-bit. Запустив c:\Windows\SysWOW64\odbcad32.exe, я разумеется нашел там установленные новенькие драйвера для 64-битной системы. Ошибка же появлялась из-за того, что сервер, к которому я обращался стоит на ОС 32-bit.
Соответственно тут:
c:\Windows\System32\odbcad32.exe
этих драйверов не было. Поставил для 32-bit - заработало.
Читайте также: