2013-06-28 10 views
12

非常に簡単なjdbcログインテストプログラムを作成しました。あらゆる種類の問題の後、私はほとんどそれを働かせました。ほとんど、ちょうどこの "SQLServerException:ユーザーxxxxxのログインに失敗しました"の問題を解決できないようです。SqlServer:ログインが失敗しました

私は単純なデータベースPersonInfoを作成してから、ユーザーuser1のpassword1(SQL authenication)を作成しました。試した後、すべてがデータベースに接続できませんでした。

私はWin 7でSqlServer2008を使用しています。私はMicrosoftから最新のjdbcドライバを入手しています。

私のコードは次のとおりです。

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

ここで例外

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

は、残念ながら、私はいくつかの種類のSQLServerの教祖またはJDBC教祖は私に同情を取るまで水で今死んだ、私を助けています。

ありがとうございます。

+0

これを引き起こす可能性が多くのことがあるかもしれません - http://stackoverflow.com/questions/6403636/connecting-sql-server-2008-to-java-login-を見てみましょうユーザーエラーが発生しましたか?rq = 1と表示されています。 – DrewCo

+0

データベースに「user1 password1」を作成した場合は、もちろん接続文字列で「user1 password1」を使用する必要があります。ユーザー1には十分な権利がありますか?別のヒント:SQL Server管理スタジオでuser1に接続しようとしましたか? – gartenabfall

答えて

49

SQL Serverは「混合モード認証」ですか?これは、WindowsログインではなくSQLサーバーアカウントでログインするために必要です。あなたは、サーバーのプロパティをチェックし、[セキュリティでこれを確認することができます

、それはユーザーがすることはできません資格情報を使用してログインしようとすると、この問題が発生した「SQL ServerおよびWindows認証モード」

にする必要があります検証された。この問題は、次のシナリオで発生する可能性があります。

シナリオ1:ログインはSQL Serverログインでも、サーバーはWindows認証のみを受け入れます。

シナリオ2: SQL Server認証を使用して接続しようとしていますが、使用されているログインがSQL Serverに存在しません。

シナリオ3:ログインでWindows認証が使用される可能性がありますが、ログインは認識できないWindowsプリンシパルです。認識されないWindowsプリンシパルとは、Windowsがログインを確認できないことを意味します。これは、Windowsログインが信頼できないドメインからのものである可能性があります。

ユーザーが誤った情報を入力する可能性もあります。

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

1

Azureでの私のSQL DB(SQL-CLIを使用)に接続しようとするとき、私は同じエラーメッセージが表示されました。簡単な解決策は、このような単一引用符でパスワードエスケープしました:MSSQLサーバ上Can not connect to the SQL Server. The original error is: Login failed for user 'username'.エラーについても

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

アカウントは、ユーザーのプロパティでロックアウトされていないことを確認して、「ステータス」タブ

0

を、ポート要件側面を満たす必要があります。

Windowsファイアウォールで設定する必要がある既定のポート1433以外のポートがあります。

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

関連する問題