2013-06-28 19 views
12

Ho scritto un programma di test di login jdbc molto semplice. E dopo tutti i tipi di problemi, ho quasi funzionato. Quasi, non riesco a superare questo problema "SQLServerException: Login fallito per utente xxxxx".SqlServer: accesso non riuscito per l'utente

ho creato un semplice database PersonInfo poi ho creato utente user1 password1 (authenication sql). E dopo aver provato tutto era impossibile connettersi al database.

Sto usando SqlServer2008 su Win 7, I'v ha ottenuto l'ultimo driver JDBC da Microsoft.

Il mio codice è:

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(); 
    } 
} 
} 

Ecco l'eccezione

Exception: Unable to get connect 
com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'Sohaib'. 
and all other supporting errors.. 

Purtroppo io sono ormai morto in acqua fino a una sorta SqlServer Guru o JDBC Guru prendere pietà di me e mi aiuta.

grazie in anticipo.

+0

Ci potrebbe essere un certo numero di cose che potrebbero causare questo - dare un'occhiata a http://stackoverflow.com/questions/6403636/connecting-sql-server-2008-to-java-login- failed-for-user-error? rq = 1 e vedi se qualcuno dei suggerimenti ti aiuta. – DrewCo

+0

Se hai creato "user1 password1" nel database dovresti ovviamente usare "user1 password1" nella tua stringa di connessione. L'utente1 ha abbastanza diritti? Un altro suggerimento: hai provato a connettere user1 nello studio di gestione del server sql? – gartenabfall

risposta

49

È il vostro SQL Server in 'autenticazione in modalità mista'? Questo è necessario per accedere con un account server SQL invece di un login di Windows.

È possibile verificarlo controllando le proprietà del server e quindi sicurezza, dovrebbe essere in 'SQL Server e Windows modalità di autenticazione'

Questo problema si verifica se l'utente tenta di accedere con le credenziali che non possono essere convalidato. Questo problema può verificarsi nei seguenti scenari:

Scenario 1: L'accesso può essere un accesso di SQL Server ma il server accetta solo l'autenticazione di Windows.

Scenario 2: Si sta tentando di connettersi utilizzando l'autenticazione di SQL Server ma l'accesso utilizzato non esiste su SQL Server.

Scenario 3: Il login può utilizzare l'autenticazione di Windows ma l'accesso è un'entità Windows non riconosciuta. Un'entità Windows non riconosciuta significa che Windows non può verificare l'accesso. Ciò potrebbe essere dovuto al fatto che l'accesso a Windows proviene da un dominio non attendibile.

E 'anche possibile che l'utente messo in informazioni errate.

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

1

ho ottenuto lo stesso messaggio di errore quando tenta di connettersi al mio SQL DB nel Azure (utilizzando SQL-CLI). La soluzione più semplice è stato quello di fuggire la password con virgolette singole come questo:

mssql -s server.database.windows.net -u [email protected] -p 'your_password' -d your_db -e 
0

assicurarsi che conto non è bloccato in proprietà utente anche "Stato" scheda

0

Per Can not connect to the SQL Server. The original error is: Login failed for user 'username'. errore, requisiti delle porte sul server di MSSQL lato deve essere soddisfatto.

Ci sono altre porte oltre la porta predefinita 1433 che devono essere configurate su Windows Firewall.

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

Problemi correlati