Підготовка 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.