
Ich versuche, von einer Anwendung, die ich (mit Qt) geschrieben habe und die unter Linux läuft, eine Verbindung zu MS SQLServer herzustellen. Hier sind einige Details des Setups:
Die SQLServer-Box (SQLBox) ist Teil meiner Domäne ( mydomain.local
). Diese Domäne verwendet Active Directory, das auf ausgeführt wird ADBox.mydomain.local
. Die Linux-Box ist nicht Teil der Domäne. Der Benutzer auf der Linux-Box ist lokal angemeldet. d mvincent@linuxbox
. h. .
Ich habe Kerberos unter Linux installiert und für die Verbindung mit konfiguriert ADBox.mydomain.local
. Über bekomme ich ein Ticket zurück, das über angezeigt werden kann . ist mit Berechtigungen für den Zugriff auf SQLServer unter SQLBox eingerichtet. kinit [email protected]
klist
[email protected]
Ich verwende ODBC, um eine Verbindung zu SQLServer herzustellen. SQLServer ist so konfiguriert, dass es nur Verbindungen von ActiveDirectory-Benutzern akzeptiert. Ein Benutzername und ein Kennwort können nicht verwendet werden, um eine Verbindung zu SQLServer herzustellen. Meine ODBC-Verbindungszeichenfolge enthält Trusted_Connection=yes
.
Meine Qt-Anwendung wird unter Linux als angemeldeter Benutzer ausgeführt. Dies ist mvincent.LinuxBox. Ich kann für diesen Benutzer kein Ticket erhalten, daher wird die Verbindung abgelehnt.
Ich kann ein Ticket für erhalten [email protected]
, aber ich kann nicht herausfinden, wie ich dieses Ticket oder diesen Benutzer in die ODBC-Verbindungszeichenfolge einfüge.
Wie kann ich das tun, was ich versuche?
Danke schön.
Antwort1
Ich schlage vorVerwenden von sqlcmdBefehl. Das Dienstprogramm ist im Microsoft ODBC-Treiber für SQL Server unter Linux verfügbar.