JDBC ドライバーを使用して、Java と SQL Server 間の接続を作成しようとしています。私のコンピューター上にあるサーバーへの接続を形成する接続クラスを作成しました。このサーバーは、例のIPアドレス「BHX」を使用しています
ここに接続クラスがあります
public class Connection {
public static void main(String[] args) throws Exception {
try {
String databaseDriver = "net.sourceforge.jtds.jdbc.Driver";
Class.forName(databaseDriver);
} catch (Exception e) {
e.printStackTrace();
}
try {
String url = "jdbc:jtds:sqlserver://BHX:1433/Forecast;instance=SQLEXPRESS";
java.sql.Connection con = DriverManager.getConnection(url);
System.out.println("Connection created");
con.close();
} catch (Exception e1) {
e1.printStackTrace();
}
}
}
このコードを実行すると、次のエラーが発生するため、url 文字列に問題があるかどうか疑問に思っています。
java.sql.SQLException: Network error IOException: Connection refused: connect
at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:417)
at net.sourceforge.jtds.jdbc.ConnectionJDBC3.<init>(ConnectionJDBC3.java:50)
at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:185)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at Connection.main(Connection.java:56)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.sourceforge.jtds.jdbc.SharedSocket.createSocketForJDBC3(SharedSocket.java:311)
at net.sourceforge.jtds.jdbc.SharedSocket.<init>(SharedSocket.java:261)
at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:318)
... 5 more
同様の質問を見たことがありますが(このようなものはこちら)、考えられるすべての解決策に従っているかのように見えます。構成マネージャーで TCP/IP が有効になっていることと、ポート番号が 1433 であることを確認しました。
ファイアウォールを無効にしてこれを実行しようとしましたが、それでも同じエラーが発生します。
telnet BHX 1433 を実行すると、「...ポート 1433 でホストへの接続を開けませんでした: 接続に失敗しました」というメッセージが表示されます。