Cadeia de ligação JDBC com nome e domínio da instância
Tenho uma base de dados criada no servidor SQL com a seguinte configuração:
Além disso, estou a tentar ligar-me à base de dados chamada {[[0]}.para isso criei os seguintes detalhes:
Devo ter domínio na cadeia ou deve estar no nome do utilizador? Quando vou às propriedades da base de dados, vejo que o dono tem. Além disso, a url está correta na parte da instância de acordo com a imagem? parece que não pode ir a esse caso específico.
também, esta é a configuração da ligação (usando o Windows Authenticaton)
Quando pus o nome de utilizador, estou a receber o seguinte registo de erros:
Com.base.sqlserver.jdbc.SQLServerException: a autenticação falhou para o utilizador '. ClientConnectionId:e812971f-b03c-4210-9dbd-de0791bcc304
1 answers
Ao especificar a localização da instância do servidor de SQL, um fornece Normalmente serverName\instanceName
ou serverName:portNumber
, não ambos. Isto é, quer
jdbc:sqlserver://INNOWAVE-99\SQLEXPRESS01;databaseName=EDS
Ou
jdbc:sqlserver://localhost:1433;databaseName=EDS
(assumindo que a instância SQLEXPRESS01 foi explicitamente configurada para ouvir no Porto 1433, o que normalmente não é o caso de uma instância SQL Express).
Como mencionado na documentação para construir o URL de ligação
Se um número de porta e um nome instantâneo forem usado, o número de portNumber terá precedência e o nome do instancen será ignorado.
Não existe nenhuma propriedade domain=
definida para o URL de ligação do controlador JDBC da Microsoft para o servidor SQL. O login na instância do servidor SQL com credenciais do domínio do Windows é feito implicitamente usando a propriedade integratedSecurity=true
da ligação (e Não fornecendo explicitamente um nome de utilizador e uma senha); detalhes aqui .