[IM002] [unixODBC] [Диспетчер драйверов] Имя источника данных не найдено, и сообщение, указанное в драйвере по умолчанию, не указано при попытке подключения через isql

Я пытаюсь подключить Rattle к базе данных MySQL. И Rattle, и MySQL установлены на моем ноутбуке (ubuntu 14.04). Поскольку Rattle подключается к MySQL только через ODBC, я следил за сообщением здесь, чтобы установить ODBC. Я сделал следующее

  1. Установил драйверы ODBC с помощью следующей команды

    apt-get установить libmyodbc unixodbc-bin

  2. Расположение моего драйвера ODBC следующее

    root @ sridhar-Aspire-5745: / home / sridhar # find / -name 'lib odbc .so' /usr/lib/i386-linux-gnu/odbc/liboplodbcS.so / usr / lib /i386-linux-gnu/odbc/libodbcdrvcfg2S.so /usr/lib/i386-linux-gnu/odbc/libodbctxtS.so /usr/lib/i386-linux-gnu/odbc/libodbcdrvcfr1S / libodbcdrvcfg1S / libodbcdrvcfg1S / libodbcdrvcfg1S / libodbcdrvcfg1S / libodbcdrvcfg1S / libodbcdrvcfg1S.so -linux-gnu / odbc / libodbcpsqlS.so /usr/lib/i386-linux-gnu/odbc/libodbcmyS.so /usr/lib/i386-linux-gnu/odbc/libodbcminiS.so / usr / lib / i386-linux -gnu / odbc / libodbcnnS.so /usr/lib/i386-linux-gnu/odbc/libmyodbc.so /usr/lib/i386-linux-gnu/odbc/liboraodbcS.so

  3. Создан установочный файл ODBC (/etc/odbcinst.ini) со следующим содержимым

    [myodbc_mysql]
    Описание = ODBC для MySQL
    Драйвер = /usr/lib/i386-linux-gnu/odbc/libmyodbc.so
    Настройка = / usr / lib / i386-linux-gnu / odbc / libodbcmyS.so
    UsageCount = 6

  4. Определен путь сокета MySQL

    root @ sridhar-Aspire-5745: / home / sridhar # mysqladmin -u root -p version
    Введите пароль:
    mysqladmin Ver 8.42 Distrib 5.5.46, для debian-linux-gnu на i686
    Авторские права ( c) 2000, 2015, Oracle и / или ее аффилированные лица. Все права защищены.

    Oracle является зарегистрированным товарным знаком Oracle Corporation и / или ее дочерних компаний. Другие наименования могут быть торговыми марками их владельцев.

    Версия сервера 5.5.46-0ubuntu0.14.04.2
    Протокол версии 10
    Подключение к локальному хосту через сокет UNIX
    Сокет UNIX /var/run/mysqld/mysqld.sock
    Время работы: 4 часа 41 мин 49 sec

    Темы: 1 Вопросы: 229 Медленные запросы: 1 Открытие: 1156 Очистить таблицы: 1 Открытые таблицы: 400 запросов в секунду в среднем: 0,013

  5. Создано /etc/odbc.ini со следующим содержанием

    [myodbc_mysql_rattle]
    Description = rattle
    Driver = myodbc_mysql # пользовательское имя драйвера
    Server = localhost # или внешний IP-адрес, если необходимо
    Port = 3306 # или пользовательский порт, если необходимо
    Socket = / var /run/mysqld/mysqld.sock # socket, см. выше
    Database = # MySQL DB name или пусто
    Option = 3
    ReadOnly = Нет

  6. Установлен драйвер ODBC

    root @ sridhar-Aspire-5745: / home / sridhar # odbcinst -i -d -f /etc/odbcinst.ini
    odbcinst: драйвер установлен. Количество использований увеличено до 7.
    Целевой каталог - / etc

  7. Установлен системный DSN

    корень @ sridhar-Aspire-5745: / home / sridhar # odbcinst -i -s -l -f /etc/odbc.ini

  8. проверил, успешно ли установлен системный DSN

    корень @ sridhar-Aspire-5745: / home / sridhar # odbcinst -s -q [myodbc_mysql_rattle]

  9. Проверено, могу ли я подключиться к базе данных MySQL (**** указывает пароль!)

    isql -v myodbc_mysql_rattle root ****

только чтобы получить

[IM002][unixODBC][Driver Manager]Data source name not found, and no default driver specified <br>
[ISQL]ERROR: Could not SQLConnect

Я повторил это 7 раз! Я до сих пор не могу понять, почему isql не может найти DSN.


person sridhar pandurangiah    schedule 19.12.2015    source источник


Ответы (1)


Предполагается, что расположение системных файлов по умолчанию для unixODBC не было / etc. Возможно, вы захотите определить и экспортировать ODBCINI = / etc / odbc.ini и ODBCSYSINI = / etc

person mauro    schedule 29.12.2015