Servidor de SQL: a autenticação falhou para o utilizador
eu criei um PersonInfo de banco de dados simples, então eu criei o usuário user1 password1 (SQL autentication). E depois de tentar tudo foi incapaz de se conectar à base de dados.
estou a usar o SqlServer2008 no Win 7, consegui o último driver jdbc da Microsoft.
o meu código é:
import java.sql.*;
public class hell {
public static void main(String[] args) {
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
Connection conn= DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=PersonInfo;user=Sohaib;password=0000;");
System.out.println("connected");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Aqui está a excepção.
Exception: Unable to get connect
com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'Sohaib'.
and all other supporting errors..
Infelizmente estou agora morto na água até que algum Guru SqlServer ou Guru Jdbc tenha pena de mim e me ajude.
Obrigado antecipadamente.
6 answers
O seu servidor de SQL está em 'autenticação de modo misto'? Isto é necessário para se autenticar com uma conta de servidor SQL em vez de uma conta do Windows.
Você pode verificar isto, verificando as propriedades do servidor e, em seguida, a segurança, ele deve estar em 'SQL Server e Windows Authentication Mode'
Este problema ocorre se o utilizador tentar fazer login com credenciais que não podem ser validadas. Este problema pode ocorrer nos seguintes cenários:
Cenário 1: {[9] } o login pode ser um login do servidor SQL, mas o servidor só aceita autenticação do Windows.
Cenário 2: está a tentar ligar-se usando a autenticação do servidor SQL, mas a autenticação usada não existe no servidor SQL.
Cenário 3: O Utilizador pode usar a autenticação do Windows, mas o utilizador é um princípio do Windows não reconhecido. Um princípio do Windows não reconhecido significa que o Windows não pode verificar o login. Isso pode ser porque o login do Windows é de um não confiável dominio.
Também é possível que o utilizador tenha colocado informação incorrecta.Encontrei o mesmo problema, e corrigi-o adicionando o meu nome de utilizador do windows ao SQL e depois ao meu servidor, eis como fiz:
Primeiro, crie um novo login com o seu utilizador do Windows:
Carregue em Procurar, depois escreva o seu nome na caixa e carregue em verificar os nomes..
Depois adicione esse utilizador ao servidor:
Carregue com o botão direito no servidor > permissões > procurar > navegar > seleccionar o seu utilizador (Você vai notar que agora o usuário que você criou está disponível na lista)
Espero que ajude.Recebi a mesma mensagem de erro ao tentar ligar-me ao meu SQL DB em Azure (usando o SQL-cli). A solução simples era escapar da senha com aspas simples como esta:
mssql -s server.database.windows.net -u user@server -p 'your_password' -d your_db -e
Certifique-se também que a conta não está bloqueada na página "estado" das propriedades do Utilizador
Para Can not connect to the SQL Server. The original error is: Login failed for user 'username'.
erro, os requisitos do porto no lado do servidor MSSQL têm de ser cumpridos.
Há outras portas para além da porta predefinida 1433 que precisam de ser configuradas no Firewall do Windows.
Resolvemos o nosso gancho Linux / php para o problema do servidor SQL criando uma nova conta de autenticação com a autenticação do servidor SQL em vez da autenticação do Windows.