Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
wiki:odbs_mysql_12.04_выгрузка_запроса [2012/06/18 11:59] [Настройка odbc в ubuntu-12.04] |
wiki:odbs_mysql_12.04_выгрузка_запроса [2012/06/26 05:56] (текущий) [Ссылки] |
||
---|---|---|---|
Строка 7: | Строка 7: | ||
===== Настройка odbc в ubuntu-12.04 ===== | ===== Настройка odbc в ubuntu-12.04 ===== | ||
В начале необходимо установить в систему пакеты odbc (open data base connect) драйвера: | В начале необходимо установить в систему пакеты odbc (open data base connect) драйвера: | ||
- | {code} sudo apt-get install unixodbc libmyodbc {/code} | ||
- | + | <code> sudo apt-get install unixodbc libmyodbc </code> | |
+ | имена файлов настроек odbc можно увидеть введя в терминале: | ||
+ | <code> odbcinst -j </code> | ||
+ | вывод в 12.04 будет примерно таким: | ||
+ | |||
+ | <code>unixODBC 2.2.14 | ||
+ | DRIVERS............: /etc/odbcinst.ini | ||
+ | SYSTEM DATA SOURCES: /etc/odbc.ini | ||
+ | FILE DATA SOURCES..: /etc/ODBCDataSources | ||
+ | USER DATA SOURCES..: /home/user/.odbc.ini | ||
+ | SQLULEN Size.......: 4 | ||
+ | SQLLEN Size........: 4 | ||
+ | SQLSETPOSIROW Size.: 2 | ||
+ | </code> | ||
+ | |||
+ | в файле /etc/odbcinst.ini необходимо указать файлы драйвера в системе: | ||
+ | <code>sudo gedit /etc/odbcinst.ini </code> | ||
+ | в редакторе прописать: | ||
+ | <code>[MySQL] | ||
+ | Description = ODBC for MySQL | ||
+ | Driver = /usr/lib/i386-linux-gnu/odbc/libmyodbc.so | ||
+ | Setup = sud/usr/lib/i386-linux-gnu/odbc/libodbcmyS.so | ||
+ | FileUsage = 1 </code> | ||
+ | |||
+ | Сервер и базу данных для подключения необходимо задавать либо в целом для системы в файле /etc/odbc.ini либо для текущего пользователя в файле /home/user/.odbc.ini (или ~/.odbc.ini, для правки этого файла необходимо ввести в терминале "gedit ~/.odbc.ini"). Пользовательский файл ~/.odbc.ini может выглядеть следующим образом: | ||
+ | <code>[qdb] | ||
+ | ReadOnly=yes | ||
+ | Driver= MySQL | ||
+ | Server=127.0.0.1 | ||
+ | Port=7777 | ||
+ | USER=qdb_u | ||
+ | PASSWORD=qdb_password | ||
+ | Database=q_db | ||
+ | </code> | ||
+ | Тут необходимо заметить, что к серверу с БД, я подключаюсь с локальной машиной посредством ssh, введя в терминале | ||
+ | <code> ssh -L7777:localhost:3306 s_user@192.168.32.210 </code> где s_user - имя пользователя на сервере, а 192.168.32.210 - IP сервера; | ||
+ | |||
+ | Проверить настройки подключения в БД можно набрав в терминале <code>isql qdb</code> | ||
+ | если всё указано правильно, должно вывестить следующее: | ||
+ | <code>+---------------------------------------+ | ||
+ | | Connected! | | ||
+ | | | | ||
+ | | sql-statement | | ||
+ | | help [tablename] | | ||
+ | | quit | | ||
+ | | | | ||
+ | +---------------------------------------+ | ||
+ | SQL> | ||
+ | </code> | ||
+ | При помощи утилиты isql, в том числе можно вводить запросы конструкции SELECT. | ||
+ | |||
+ | ===== Вывод запроса SELECT во внешний файл на локальной машине ===== | ||
+ | И так, исходные данные: имеется настроенное ssh подключение между локальной машиной и сервером и настроенное odbc подключение с базой данных. | ||
+ | Подключаемся к серверу | ||
+ | <code> ssh -L7777:localhost:3306 s_user@192.168.32.210 </code> | ||
+ | Открываем новое окно терминала Shift+Сtrl+t, и вводим примерно следующее: | ||
+ | <code>script -t /home/user/имя_файла</code> | ||
+ | тут: утилита script позволяет записывать всё, что происходит в терминале, а /home/user/имя_файла - собственно файл куда будет выводится запрос. Далее подключаемся к базе: | ||
+ | <code>isql qdb</code> | ||
+ | и вставляем в терминал требуемый запрос((для удобства запрос можно предварительно записать в каком-нибудь редакторе, затем скопировать и вставить посредством меню мыши или комбинацией клавиш Shift+Ins)). После исполнения запроса нажимаем Ctrl+C Ctrl+D, для выхода из script. Созданный файл можно открыть в Calc, выбрав в мастере импорта требуемые разделители, например точку с запятой и символ "|". В открытом файле остаётся только удалить несколько "лишних" строк и столбцов, а так же десяток другой пробелов в ячейках ((это лучше сделать формулами или макросом)) и наш запрос готов к дальнейшей обработке. | ||
Строка 19: | Строка 78: | ||
* [[FIXME]] | * [[FIXME]] | ||
- | {{tag>odbs mysql 12.04 запросы_mysql}} | + | {{tag>odbs mysql 12.04 запросы_mysql how-to}} |