SCROLL
Среднее время на прочтение: 1 мин.

Подключение к MS SQL Server через ODBC в Debian 11

ODBC (Open Database Connectivity) — это программный интерфейс (API) доступа к базам данных, разработанный компанией Microsoft. ODBC предоставляет унифицированные средства взаимодействия прикладной программы (клиента) с сервером — базой данных.

Рассмотрим как выполнить настройку подключения к MS SQL Server через ODBC в Debian 11 Bullseye.

Установка Microsoft ODBC Driver for SQL Server

Добавляем публичный GnuPG-ключ репозитория Microsoft. Добавляем репозиторий Microsoft в список репозиториев и обновляем репозиторий:

curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
sudo apt-get update

Устанавливаем пакеты ODBC, драйвер ODBC Driver for SQL Server и пакет для возможности авторизации на основе проверки подлинности:

apt-get install -y unixodbc-dev libgssapi-krb5-2

ACCEPT_EULA=Y apt-get install -y msodbcsql18
ACCEPT_EULA=Y apt-get install -y mssql-tools18

echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrc

Посмотреть информацию о настройках ODBC и список подключенных драйверов, можно командами:

odbcinst -j
odbcinst -q -d

Настройка ODBC

Cоздание DSN для подключения к MSSQL серверу. В файле /etc/odbc.ini описываем параметры подключения к MSSQL серверу, где Server указываем IP-адрес своего сервера.

/etc/odbc.ini
[MSSQLTest]
Driver = ODBC Driver 18 for SQL Server
Server = tcp:10.10.10.10,1433
Encrypt = yes
TrustServerCertificate=yes
Так же можно в данном файле указать в какую базу выполнять вход после успешного подключения, указав параметр — Database = Somedb . Если данный параметр не указать, то после подключения к серверу нужно будет выбрать БД командой «USE имя_БД«.

Проверка подключения через созданный DSN, синктаксис — isql -v имя_DSN логин пароль

isql -v MSSQLTest jakonda 1qa2ws-3ed

+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| echo [string]                         |
| quit                                  |
|                                       |
+---------------------------------------+
SQL>

Для подключения через программу sqlcmd, входящую в пакет mssql-tools18, можно командой:

sqlcmd -S10.10.10.10 -U login_name -C

Пояснения:

  • -S : имя сервера или IP-адрес.
  • -U : имя встроенной учетной записи MSSQL сервера.
  • -C : разрешение доверять сертификату сервера.

В случае если необходимо выполнять подключение по доменной учетной записи, то Microsoft ODBC Driver for SQL Server поддерживает соединения, использующие встроенную проверку подлинности Kerberos. Для этого необходимо чтобы машина была в домене и была возможность авторизовываться по доменным учетным записям в системе (как ввести Debian в Windows домен).

Чтобы включить встроенную проверку подлинности Kerberos, необходимо указать в файле /etc/odbc.ini параметр — Trusted_Connection=yes

Теперь можно подключится к mssql, под текущим авторизованным доменным пользователем:

sqlcmd -E -SMYMSSQL -C

 

Обсуждение

0 комментариев

Нет комментариев.