6

ローカルのMSSQLServerがあり、JavaでJTDSを使用して接続しようとしています。接続文字列は次のとおりです。

Class.forName("net.sourceforge.jtds.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:jtds:sqlserver://localhost:1433/stock","sa","password");

また、サーバーのプロパティ:
名前:USER-PC \ SQLEXPRESS
ルートディレクトリ:c:\ Program Files \ Microsoft SQL Server \ MSSQL11.SQLEXPRESS \ MSSQL

エラーが発生しException in thread "main" java.sql.SQLException: Network error IOException: Connection refused: connectます。

どうすればこれを修正できますか?

4

3 に答える 3

12

以下を確認してください。

  • 混合モードセキュリティを有効にしました。つまり、(Windows認証を使用するのではなく)ユーザー名/パスワードで接続できます。
  • TCP/IPプロトコルが有効になっています。SQL Server構成マネージャーを開き、SQLServerネットワーク構成で[プロトコル]を選択して[TCP/IPを有効にする]を選択します。
  • 次の形式を使用して、getConnectionに文字列を1つだけ渡してみてください。

    DriverManager.getConnection("jdbc:jtds:sqlserver://localhost:1433/stock;instance=SQLEXPRESS;user=sa;password=password")
    
  • この形式(インスタンスの名前付け)を使用している場合は、SQL Serverブラウザサービスが(サービスで)実行されている必要があります。これがグレー表示されている場合は、サービスが無効になっている可能性があるため、有効にしてから開始してください。

于 2012-05-09T19:02:41.407 に答える
0

ポート1433は、デフォルトのインスタンスで使用されるポートです。名前付きインスタンスであるSQLEXPRESSを使用しています。接続文字列には、次のようなものを含める必要があります。

sqlserver://localhost\SQLEXPRESS
于 2012-05-11T15:58:32.490 に答える
0

SQLServerブラウザサービスはデフォルトで無効になっています。.Netアプリを開発している場合は、SQLBrowserを起動する必要はありませんが、JavaでJTDSを使用している場合は、起動する必要があります。

于 2017-08-18T03:28:58.043 に答える