Я пытаюсь подключить Rattle к базе данных MySQL. И Rattle, и MySQL установлены на моем ноутбуке (ubuntu 14.04). Поскольку Rattle подключается к MySQL только через ODBC, я следил за сообщением здесь, чтобы установить ODBC. Я сделал следующее
Установил драйверы ODBC с помощью следующей команды
apt-get установить libmyodbc unixodbc-bin
Расположение моего драйвера 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
Создан установочный файл 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Определен путь сокета 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Создано
/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 = НетУстановлен драйвер ODBC
root @ sridhar-Aspire-5745: / home / sridhar # odbcinst -i -d -f /etc/odbcinst.ini
odbcinst: драйвер установлен. Количество использований увеличено до 7.
Целевой каталог - / etcУстановлен системный DSN
корень @ sridhar-Aspire-5745: / home / sridhar # odbcinst -i -s -l -f /etc/odbc.ini
проверил, успешно ли установлен системный DSN
корень @ sridhar-Aspire-5745: / home / sridhar # odbcinst -s -q [myodbc_mysql_rattle]
Проверено, могу ли я подключиться к базе данных 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.