
Я пытаюсь подключиться к MS SQLServer из приложения, которое я написал (используя Qt), которое работает на Linux. Вот некоторые подробности настройки:
Ящик SQLServer (SQLBox) является частью моего домена ( mydomain.local
). Этот домен использует Active Directory, работающую на ADBox.mydomain.local
, Ящик Linux не является частью домена. Пользователь на ящике Linux вошел в систему локально. т.е. mvincent@linuxbox
.
Я установил Kerberos на Linux и настроил его для подключения к ADBox.mydomain.local
. Используя я получаю возвращенный билет, который можно увидеть с помощью . настроен с разрешениями на доступ к SQLServer на SQLBox. kinit [email protected]
klist
[email protected]
Я использую ODBC для подключения к SQLServer. SQLServer настроен на прием подключений только от пользователей ActiveDirectory. Имя пользователя и пароль не могут использоваться для подключения к SQLServer. Моя строка подключения ODBC включает Trusted_Connection=yes
.
Мое приложение Qt будет запущено от имени вошедшего в систему пользователя Linux. Это будет mvincent.LinuxBox. Я не могу получить тикет для этого пользователя, поэтому соединение отклонено.
Я могу получить тикет для [email protected]
, но не могу понять, как ввести этот тикет или этого пользователя в строку подключения ODBC.
Как я могу сделать то, что пытаюсь сделать?
Спасибо.
решение1
Я предлагаюс помощью sqlcmdкоманда. Утилита доступна в драйвере Microsoft ODBC для SQL Server на Linux.