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

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

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

Рассмотрим как выполнить настройку подключения к MS SQL Server через ODBC1 в 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
c3VkbyUyMGFwdC1nZXQlMjB1cGRhdGU=

JUQwJUEzJUQxJTgxJUQxJTgyJUQwJUIwJUQwJUJEJUQwJUIwJUQwJUIyJUQwJUJCJUQwJUI4JUQwJUIyJUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUJGJUQwJUIwJUQwJUJBJUQwJUI1JUQxJTgyJUQxJThCJTIwT0RCQyUyQyUyMCVEMCVCNCVEMSU4MCVEMCVCMCVEMCVCOSVEMCVCMiVEMCVCNSVEMSU4MCVDMiVBME9EQkMlMjBEcml2ZXIlMjBmb3IlMjBTUUwlMjBTZXJ2ZXIlQzIlQTAlRDAlQjglMjAlRDAlQkYlRDAlQjAlRDAlQkElRDAlQjUlRDElODIlMjAlRDAlQjQlRDAlQkIlRDElOEYlMjAlRDAlQjIlRDAlQkUlRDAlQjclRDAlQkMlRDAlQkUlRDAlQjYlRDAlQkQlRDAlQkUlRDElODElRDElODIlRDAlQjglMjAlRDAlQjAlRDAlQjIlRDElODIlRDAlQkUlRDElODAlRDAlQjglRDAlQjclRDAlQjAlRDElODYlRDAlQjglRDAlQjglMjAlRDAlQkQlRDAlQjAlMjAlRDAlQkUlRDElODElRDAlQkQlRDAlQkUlRDAlQjIlRDAlQjUlMjAlRDAlQkYlRDElODAlRDAlQkUlRDAlQjIlRDAlQjUlRDElODAlRDAlQkElRDAlQjglMjAlRDAlQkYlRDAlQkUlRDAlQjQlRDAlQkIlRDAlQjglRDAlQkQlRDAlQkQlRDAlQkUlRDElODElRDElODIlRDAlQjglM0E=

YXB0LWdldCVDMiVBMGluc3RhbGwlQzIlQTAteSVDMiVBMHVuaXhvZGJjLWRldiVDMiVBMGxpYmdzc2FwaS1rcmI1LTI=

QUNDRVBUX0VVTEElM0RZJTIwYXB0LWdldCUyMGluc3RhbGwlMjAteSUyMG1zb2RiY3NxbDE4
QUNDRVBUX0VVTEElM0RZJTIwYXB0LWdldCUyMGluc3RhbGwlMjAteSUyMG1zc3FsLXRvb2xzMTg=

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

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

odbcinst -j
odbcinst -q -d

Настройка ODBC

QyVEMCVCRSVEMCVCNyVEMCVCNCVEMCVCMCVEMCVCRCVEMCVCOCVEMCVCNSUyMERTTiUyMCVEMCVCNCVEMCVCQiVEMSU4RiUyMCVEMCVCRiVEMCVCRSVEMCVCNCVEMCVCQSVEMCVCQiVEMSU4RSVEMSU4NyVEMCVCNSVEMCVCRCVEMCVCOCVEMSU4RiUyMCVEMCVCQSUyME1TU1FMJTIwJUQxJTgxJUQwJUI1JUQxJTgwJUQwJUIyJUQwJUI1JUQxJTgwJUQxJTgzLiUyMCVEMCU5MiUyMCVEMSU4NCVEMCVCMCVEMCVCOSVEMCVCQiVEMCVCNSVDMiVBMCUyRmV0YyUyRm9kYmMuaW5pJTIwJUQwJUJFJUQwJUJGJUQwJUI4JUQxJTgxJUQxJThCJUQwJUIyJUQwJUIwJUQwJUI1JUQwJUJDJTIwJUQwJUJGJUQwJUIwJUQxJTgwJUQwJUIwJUQwJUJDJUQwJUI1JUQxJTgyJUQxJTgwJUQxJThCJTIwJUQwJUJGJUQwJUJFJUQwJUI0JUQwJUJBJUQwJUJCJUQxJThFJUQxJTg3JUQwJUI1JUQwJUJEJUQwJUI4JUQxJThGJTIwJUQwJUJBJTIwTVNTUUwlMjAlRDElODElRDAlQjUlRDElODAlRDAlQjIlRDAlQjUlRDElODAlRDElODMlMkMlMjAlRDAlQjMlRDAlQjQlRDAlQjUlMjBTZXJ2ZXIlMjAlRDElODMlRDAlQkElRDAlQjAlRDAlQjclRDElOEIlRDAlQjIlRDAlQjAlRDAlQjUlRDAlQkMlMjBJUC0lRDAlQjAlRDAlQjQlRDElODAlRDAlQjUlRDElODElMjAlRDElODElRDAlQjIlRDAlQkUlRDAlQjUlRDAlQjMlRDAlQkUlMjAlRDElODElRDAlQjUlRDElODAlRDAlQjIlRDAlQjUlRDElODAlRDAlQjAu

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

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

aXNxbCUyMC12JTIwTVNTUUxUZXN0JTIwamFrb25kYSUyMDFxYTJ3cy0zZWQ=

+---------------------------------------+
| Connected!                            |
JTdDJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdD
| sql-statement                         |
JTdDJTIwaGVscCUyMCU1QnRhYmxlbmFtZSU1RCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3Qw==
| echo [string]                         |
JTdDJTIwcXVpdCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3Qw==
JTdDJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdD
+---------------------------------------+
U1FMJTNF

JUQwJTk0JUQwJUJCJUQxJThGJTIwJUQwJUJGJUQwJUJFJUQwJUI0JUQwJUJBJUQwJUJCJUQxJThFJUQxJTg3JUQwJUI1JUQwJUJEJUQwJUI4JUQxJThGJTIwJUQxJTg3JUQwJUI1JUQxJTgwJUQwJUI1JUQwJUI3JTIwJUQwJUJGJUQxJTgwJUQwJUJFJUQwJUIzJUQxJTgwJUQwJUIwJUQwJUJDJUQwJUJDJUQxJTgzJTIwc3FsY21kJTJDJTIwJUQwJUIyJUQxJTg1JUQwJUJFJUQwJUI0JUQxJThGJUQxJTg5JUQxJTgzJUQxJThFJTIwJUQwJUIyJTIwJUQwJUJGJUQwJUIwJUQwJUJBJUQwJUI1JUQxJTgyJUMyJUEwbXNzcWwtdG9vbHMxOCUyQyUyMCVEMCVCQyVEMCVCRSVEMCVCNiVEMCVCRCVEMCVCRSUyMCVEMCVCQSVEMCVCRSVEMCVCQyVEMCVCMCVEMCVCRCVEMCVCNCVEMCVCRSVEMCVCOSUzQQ==

c3FsY21kJTIwLVMxMC4xMC4xMC4xMCUyMC1VJTIwbG9naW5fbmFtZSUyMC1D

JUQwJTlGJUQwJUJFJUQxJThGJUQxJTgxJUQwJUJEJUQwJUI1JUQwJUJEJUQwJUI4JUQxJThGJTNB

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

JUQwJTkyJTIwJUQxJTgxJUQwJUJCJUQxJTgzJUQxJTg3JUQwJUIwJUQwJUI1JTIwJUQwJUI1JUQxJTgxJUQwJUJCJUQwJUI4JTIwJUQwJUJEJUQwJUI1JUQwJUJFJUQwJUIxJUQxJTg1JUQwJUJFJUQwJUI0JUQwJUI4JUQwJUJDJUQwJUJFJTIwJUQwJUIyJUQxJThCJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUJEJUQxJThGJUQxJTgyJUQxJThDJTIwJUQwJUJGJUQwJUJFJUQwJUI0JUQwJUJBJUQwJUJCJUQxJThFJUQxJTg3JUQwJUI1JUQwJUJEJUQwJUI4JUQwJUI1JTIwJUQwJUJGJUQwJUJFJTIwJUQwJUI0JUQwJUJFJUQwJUJDJUQwJUI1JUQwJUJEJUQwJUJEJUQwJUJFJUQwJUI5JTIwJUQxJTgzJUQxJTg3JUQwJUI1JUQxJTgyJUQwJUJEJUQwJUJFJUQwJUI5JTIwJUQwJUI3JUQwJUIwJUQwJUJGJUQwJUI4JUQxJTgxJUQwJUI4JTJDJTIwJUQxJTgyJUQwJUJFJUMyJUEwTWljcm9zb2Z0JTIwT0RCQyUyMERyaXZlciUyMGZvciUyMFNRTCVDMiVBMFNlcnZlciUyMCVEMCVCRiVEMCVCRSVEMCVCNCVEMCVCNCVEMCVCNSVEMSU4MCVEMCVCNiVEMCVCOCVEMCVCMiVEMCVCMCVEMCVCNSVEMSU4MiUyMCVEMSU4MSVEMCVCRSVEMCVCNSVEMCVCNCVEMCVCOCVEMCVCRCVEMCVCNSVEMCVCRCVEMCVCOCVEMSU4RiUyQyUyMCVEMCVCOCVEMSU4MSVEMCVCRiVEMCVCRSVEMCVCQiVEMSU4QyVEMCVCNyVEMSU4MyVEMSU4RSVEMSU4OSVEMCVCOCVEMCVCNSUyMCVEMCVCMiVEMSU4MSVEMSU4MiVEMSU4MCVEMCVCRSVEMCVCNSVEMCVCRCVEMCVCRCVEMSU4MyVEMSU4RSUyMCVEMCVCRiVEMSU4MCVEMCVCRSVEMCVCMiVEMCVCNSVEMSU4MCVEMCVCQSVEMSU4MyUyMCVEMCVCRiVEMCVCRSVEMCVCNCVEMCVCQiVEMCVCOCVEMCVCRCVEMCVCRCVEMCVCRSVEMSU4MSVEMSU4MiVEMCVCOCUyMEtlcmJlcm9zLiUyMCVEMCU5NCVEMCVCQiVEMSU4RiUyMCVEMSU4RCVEMSU4MiVEMCVCRSVEMCVCMyVEMCVCRSUyMCVEMCVCRCVEMCVCNSVEMCVCRSVEMCVCMSVEMSU4NSVEMCVCRSVEMCVCNCVEMCVCOCVEMCVCQyVEMCVCRSUyMCVEMSU4NyVEMSU4MiVEMCVCRSVEMCVCMSVEMSU4QiUyMCVEMCVCQyVEMCVCMCVEMSU4OCVEMCVCOCVEMCVCRCVEMCVCMCUyMCVEMCVCMSVEMSU4QiVEMCVCQiVEMCVCMCUyMCVEMCVCMiUyMCVEMCVCNCVEMCVCRSVEMCVCQyVEMCVCNSVEMCVCRCVEMCVCNSUyMCVEMCVCOCUyMCVEMCVCMSVEMSU4QiVEMCVCQiVEMCVCMCUyMCVEMCVCMiVEMCVCRSVEMCVCNyVEMCVCQyVEMCVCRSVEMCVCNiVEMCVCRCVEMCVCRSVEMSU4MSVEMSU4MiVEMSU4QyUyMCVEMCVCMCVEMCVCMiVEMSU4MiVEMCVCRSVEMSU4MCVEMCVCOCVEMCVCNyVEMCVCRSVEMCVCMiVEMSU4QiVEMCVCMiVEMCVCMCVEMSU4MiVEMSU4QyVEMSU4MSVEMSU4RiUyMCVEMCVCRiVEMCVCRSUyMCVEMCVCNCVEMCVCRSVEMCVCQyVEMCVCNSVEMCVCRCVEMCVCRCVEMSU4QiVEMCVCQyUyMCVEMSU4MyVEMSU4NyVEMCVCNSVEMSU4MiVEMCVCRCVEMSU4QiVEMCVCQyUyMCVEMCVCNyVEMCVCMCVEMCVCRiVEMCVCOCVEMSU4MSVEMSU4RiVEMCVCQyUyMCVEMCVCMiUyMCVEMSU4MSVEMCVCOCVEMSU4MSVEMSU4MiVEMCVCNSVEMCVCQyVEMCVCNSUyMCglRDAlQkElRDAlQjAlRDAlQkElMjAlRDAlQjIlRDAlQjIlRDAlQjUlRDElODElRDElODIlRDAlQjglMjBEZWJpYW4lMjAlRDAlQjIlMjBXaW5kb3dzJTIwJUQwJUI0JUQwJUJFJUQwJUJDJUQwJUI1JUQwJUJEKS4=

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

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

c3FsY21kJTIwLUUlMjAtU01ZTVNTUUwlMjAtQw==
  1. Microsoft документация — Установка Microsoft ODBC Driver for SQL Server (Linux) ↩︎
 

ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ

Обсуждение

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

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