Servidor de SQL: a autenticação falhou para o utilizador

Escrevi um programa muito simples de testes de login do jdbc. E depois de todo o tipo de problemas, quase consegui que funcionasse. Quase, parece que não consigo ultrapassar este problema do" SQLServerException: a autenticação falhou para o utilizador xxxxx".

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.

Author: leticia, 2013-06-28

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.

Http://support.microsoft.com/kb/555332

 62
Author: Bryan Swan, 2013-06-29 08:28:44

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: enter image description here

Carregue em Procurar, depois escreva o seu nome na caixa e carregue em verificar os nomes.. enter image description here

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)

enter image description here

Espero que ajude.
 2
Author: Roberto Rodriguez, 2018-04-30 19:12:39

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
 1
Author: Tobias, 2017-04-19 15:19:10

Certifique-se também que a conta não está bloqueada na página "estado" das propriedades do Utilizador

 0
Author: irfandar, 2017-08-16 07:55:36

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.

Https://stackoverflow.com/a/25147251/1608670

 0
Author: Ivan Chau, 2017-10-24 19:32:04

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.

 0
Author: Charles Kuehn, 2018-06-05 18:46:20