
Estou tentando conectar-me ao MS SQLServer a partir de um aplicativo que escrevi (usando Qt) que roda em Linux. Aqui estão alguns detalhes da configuração:
A caixa SQLServer (SQLBox) faz parte do meu domínio ( mydomain.local
). Este domínio usa o Active Directory em execução ADBox.mydomain.local
. A caixa Linux não faz parte do domínio. O usuário na caixa do Linux está conectado localmente. ou seja mvincent@linuxbox
.
Instalei o Kerberos no Linux e configurei-o para conectar-se ao ADBox.mydomain.local
. Usando eu recebo um ticket retornado que pode ser visto usando . está configurado com permissões para acessar o SQLServer no SQLBox. kinit [email protected]
klist
[email protected]
Estou usando ODBC para conectar-me ao SQLServer. O SQLServer está configurado para aceitar conexões apenas de usuários do ActiveDirectory. Um nome de usuário e uma senha não podem ser usados para conectar-se ao SQLServer. Minha string de conexão ODBC inclui Trusted_Connection=yes
.
Meu aplicativo Qt será executado como usuário conectado no Linux. Este será mvincent.LinuxBox. Não consigo obter um ticket para este usuário, então a conexão foi recusada.
Posso obter um ticket para [email protected]
, mas não consigo descobrir como inserir esse ticket ou esse usuário na string de conexão ODBC.
Como posso fazer o que estou tentando fazer?
Obrigado.
Responder1
Eu sugirousando o sqlcmdcomando. O utilitário está disponível no Microsoft ODBC Driver para SQL Server no Linux.