
私は、Linux 上で動作する (Qt を使用して) 作成したアプリケーションから MS SQLServer に接続しようとしています。セットアップの詳細は次のとおりです。
SQLServer ボックス (SQLBox) はドメイン ( mydomain.local
) の一部です。このドメインは で実行されている Active Directory を使用しますADBox.mydomain.local
。Linux ボックスはドメインの一部ではありません。Linux ボックスのユーザーはローカルにログオンしています。つまり ですmvincent@linuxbox
。
Linux に Kerberos をインストールし、 に接続するように構成しましたADBox.mydomain.local
。 を使用して、 を使用して確認できるチケットが返されます。 は、SQLBox 上の SQLServer にアクセスするための権限でセットアップされています。 kinit [email protected]
klist
[email protected]
ODBC を使用して SQL Server に接続しています。SQL Server は、ActiveDirectory ユーザーからの接続のみを受け入れるように構成されています。ユーザー名とパスワードを使用して SQL Server に接続することはできません。ODBC 接続文字列には が含まれていますTrusted_Connection=yes
。
私の Qt アプリケーションは、Linux にログオンしたユーザーとして実行されます。これは mvincent.LinuxBox になります。このユーザーのチケットを取得できないため、接続が拒否されます。
のチケットは取得できます[email protected]
が、このチケットまたはこのユーザーを ODBC 接続文字列に入力する方法がわかりません。
私がやろうとしていることをどうすれば実現できるでしょうか?
ありがとう。
答え1
私は提案しますsqlcmdを使用するコマンド。このユーティリティは、Linux 上の SQL Server 用 Microsoft ODBC ドライバーで使用できます。