JavaクラスファイルをSQLサーバー2012に接続します。SQLサーバー認証でログインしました。しかし、接続でエラーが発生します。
エラー:ホスト127.0.0.1、ポート1433へのTCP/IP接続に失敗しました。エラー:「接続拒否:接続。接続プロパティを確認してください。SQLServerのインスタンスがホストで実行されていることを確認してください。ポートでTCP/IP接続を受け入れます。ポートへのTCP接続がファイアウォールによってブロックされていないことを確認してください。 "
私のコード---
Class.forName("com.Microsoft.sqlserver.jdbc.SQLServerDriver"); //1. Register your driver
//2. get the connection object
//Connection con = DriverManager.getConnection("jdbc:sqlserver://localhost;databaseName=aysha","sa","admin");
Connection con = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1;databaseName=aysha","user=sa","password=admin");
//"jdbc:sqlserver://127.0.0.1:1433; Instance=SQL2008;" + "databaseName=MB;user=sa;password=123;";
//Connection con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=aysha","sa" , "password");
//3. Prepare a statement
Statement stmt = con.createStatement();
//4. Write the query`
String sql = "Select * from employee";
//5. Execute the statement and
ResultSet rs = stmt.executeQuery(sql);
//6. Process the result set
while (rs.next())
{
System.out.println(rs.getInt(1));
}
他に質問がある場合は、お知らせください。
ありがとう。
簡単な解決策
[スタート]、[すべてのプログラム]、[Microsoft SQL Server 2012]、[構成ツール]、[SQL Server構成マネージャー]、[SQL Serverネットワーク構成の展開]、[プロトコル]、[TCP/IPを有効にする]の順にクリックします
[TCP/IP]をダブルクリックし、[IPアドレス]に移動し、TCPポートの下にポート1433を配置します。
エラーは自明です:
私がよく使うチェックは、telnetを使用することです。たとえば、windowsコマンドのプロンプトで実行します:
telnet 127.0.0.1 1433
空白の画面が表示される場合は、ネットワーク接続が正常に確立されたことを示しており、ネットワークの問題ではありません。 「ホストへの接続を開けませんでした」というメッセージが表示された場合、これはネットワークの問題です
エラーが示すように、SQLサーバーが実行され、ポート1433でリッスンしていることを確認する必要があります。サーバーが実行されている場合、ポート1433で接続を拒否するファイアウォールルールがあるかどうかを確認する必要があります。
トラブルシューティングに役立つコマンドは次のとおりです。
netstat -a
を使用して、SQLサーバーが目的のポートでリッスンしているかどうかを確認しますtelnet
を試すことができます