Підготовка odbc драйвера для підключення до microsoft sql server
Попередньо необхідно встановити програми gcc і make:
На Debian-подібних дісрібутівах:
sudo apt-get install tar gcc make g ++
На RedHat-подібних дистрибутивах:
sudo yum install tar gcc make
Процес установки диспетчера драйверів описаний в статті «Installing the Driver Manager (MSDN)».
Примітка. Не рекомендується використовувати прапор SQL_WCHART_CONVERT при складанні unixODBC.
Після розпакування архіву з драйвером і перед установкою, перш за все необхідно внести зміни в файли «build_dm.sh» і «install.sh».
У файлі «build_dm.sh» (в RHEL потрібно замінити тільки xvzf на xvf):
Задайте значення req_proc = "unknown" (тільки для Astra Linux і Debian).
Замініть -xvzf на -xvf.
У файлі «install.sh»:
Задайте значення req_proc = "unknown" (тільки для Astra Linux і Debian).
Якщо установка відбувається на Debian-подібний дистрибутив (Ubuntu, Astra Linux і т.п.), то у файлі «install.sh» замініть рядок:
req_libs = (glibc e2fsprogs krb5-libs openssl)
req_libs = (libc6 e2fsprogs libkrb5-3 openssl)
Потім внесіть зміни в функцію «check_required_libs». Ця функція повинна виглядати наступним чином:
log "Checking that required libraries are installed"
local present = $ (dpkg-query -l "$ lib" | grep "$ lib" 2> / dev / null)
echo "$ present" >> "$ log_file"
if [ "$ present" == ""]; then
echo "See README for which libraries are required for the $ driver_name."
установка ODBC
bash build_dm.sh --download-url = file: //unixODBC-2.3.0.tar.gz
Далі буде виведено повідомлення:
>> Run the command 'cd / tmp / unixODBC<временная метка>/unixODBC-2.3.0; make install 'to install the driver manager.
cd / tmp / unixODBC<временная метка>/unixODBC-2.3.0
sudo make install
cd -
Примітка. Команда «sudo make install» може бути замінена на «sudo checkinstall», якщо програма checkinstall встановлена в ОС.
Після цього необхідно зберегти зміни. Перевірте можливість установки драйвера в системі виконавши команду:
bash install.sh verify
В результаті буде виведено інформацію про результати перевірки. За умови відсутності проблем для установки повідомлення матиме такий вигляд:
Starting install for Microsoft ODBC Driver 11 for SQL Server
Checking for 64 bit Linux compatible OS. OK
Checking required libs are installed. OK
unixODBC utilities (odbc_config and odbcinst) installed. OK
unixODBC Driver Manager version 2.3.0 installed. OK
unixODBC Driver Manager configuration correct. OK *
Microsoft ODBC Driver 11 for SQL Server already installed. NOT FOUND
Якщо при перевірці виникли помилки, то повідомлення про них буде записано в лог-файл, наприклад:
See /tmp/msodbcsql.30762.3652.5941/install.log for more information about installation failures.
Для подальшої установки необхідно усунути всі помилки. Після їх усунення можна виконати команду для установки драйвера:
bash install.sh install --accept-license
колективні бібліотеки
Перед початком роботи з драйвером потрібно переконатися у відсутності проблем з розділяються бібліотеками. Для цього виконайте команду:
ldd /opt/microsoft/msodbcsql/lib64/libmsodbcsql-11.0.so.2270.0 | grep not
Примітка. Розташування бібліотек може бути різна в команді.
У разі присутності всіх необхідних бібліотек можна переходити до реєстрації драйвера.
Якщо в результаті виконання команди вийшов список, наприклад:
libcrypto.so.10 => not found
libssl.so.10 => not found
То необхідно виконати наступні дії:
sudo apt-get install libssl-dev
sudo ln -s libcrypto.so.1.0.0 libcrypto.so.10
sudo ln -s libssl.so.1.0.0 libssl.so.10
Після це ще раз перевірте всі залежності драйвера і в разі відсутності проблем переходити до реєстрації.
Реєстрація
Після виконання установки ODBC запис про драйвер буде додана в файл «odbcinst.ini». При необхідності реєстрацію драйвера можна здійснити вручну.
Реєстрація драйвера вручну
Для реєстрація драйвера виконайте команду:
odbcinst -i -d -f mssql.driver.template
де файл mssql.driver.template містить необхідні для роботи драйвера параметри. наприклад:
[ODBC Driver 11 for SQL Server]
Description = Microsoft ODBC Driver 11 for SQL Server
Driver = /opt/microsoft/msodbcsql/lib64/libmsodbcsql-11.0.so.2270.0
Threading = 1
DSN = MSSQL_DSN
Для перевірки правильності установки драйвера можна виконати наступну команду:
odbcinst -q -d -n "ODBC Driver 11 for SQL Server"
Результатом правильної установки буде служити висновок всіх параметрів драйвера з їх значеннями.
Реєстрація джерела даних в ручному режимі
Реєстрація джерела даних багато в чому ідентична операції з драйвером. Для неї необхідно виконати команду:
odbcinst -i -s -f mssql.dsn.template
де файл mssql.dsn.template містить необхідні для підключення параметри. наприклад:
Driver = ODBC Driver 11 for SQL Server
Примітка. Формат підключення: [protocol:] server [, port].
Для перевірки правильної установки джерела даних можна виконати наступну команду:
odbcinst -q -s -n "MSSQL_DSN"
Результатом правильної установки буде служити висновок всіх параметрів джерела даних з їх значеннями.
Перевірка підключення
Перед безпосередньою роботою з драйвером необхідно протестувати настройки підключення. Спершу можна використовувати підключення із застосуванням telnet:
telnet 192.168.1.1 1 433
У разі помилки підключення буде отримано повідомлення:
telnet: Unable to connect to remote host: Connection refused
Для усунення помилок на даному етапі зверніться до системного адміністратора.
При успішному підключенні буде отримано повідомлення наступного виду:
Connected to 192.168.1.1.
Наступним кроком є перевірка з'єднання з сервером з використанням параметрів з джерела даних. Для це виконайте наступну команду:
isql -v
У разі успішного підключення до сервера буде отримано наступне повідомлення:
| help [tablename] |
При цьому буде можливість виконати запити до бази даних.
У разі проблем буде виведено наступне повідомлення:
[ISQL] ERROR: Could not SQLConnect
Для усунення помилок на даному етапі необхідно звернутися до адміністратора СУБД.
Знайшли помилку? Виділіть текст з помилкою і натисніть кнопку "Повідомити про помилку" або Ctrl + Enter.