0

MS SQLServer2005に接続するためのJavaコードを記述しています。MSSQLServerはリモートサーバーのWindowsServer2003上にあります。次のコードを試していますが、接続を確立できません。

import java.*;

public class Connect {
     private java.sql.Connection con = null;
     private final String url = "jdbc:sqlserver://";
     private final String serverName="xxx.xxx.xxx.xxx"; 
     private final String portNumber = "1433";
     private final String databaseName="myDb"; 
     private final String userName ="user1";
     private final String password = "xxxx";     
     private final String selectMethod = "cursor";

     // Constructor
     public Connect() {}

     private String getConnectionUrl() {
          return url+serverName+":"+portNumber+";databaseName="+databaseName+";selectMethod="+selectMethod+";";
     }

     private java.sql.Connection getConnection() {
          try {
              Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
              con = java.sql.DriverManager.getConnection(getConnectionUrl(),userName,password);
               if(con!=null) System.out.println("Connection Successful!");
          } catch(Exception e) {
               e.printStackTrace();
               System.out.println("Error Trace in getConnection() : " + e.getMessage());
         }
          return con;
      }

     /*
          Display the driver properties, database details
     */

     public void displayDbProperties() {
                    System.out.println("Perform Operations ");

     }

     private void closeConnection() {
          try{
               if(con!=null)
                    con.close();
               con=null;
          }catch(Exception e){
               e.printStackTrace();
          }
     }
     public static void main(String[] args) throws Exception {
          Connect myDbTest = new Connect();
         // myDbTest.displayDbProperties();
     }
}

しかし、私は次の例外を取得しています:

com.microsoft.sqlserver.jdbc.SQLServerException:ホストへのTCP/IP接続が失敗しました。java.net.ConnectException:接続が拒否されました:接続
        com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(不明なソース)で
getConnection()のエラートレース:ホストへのTCP/IP接続が失敗しました。java.net.ConnectException:接続が拒否されました:接続
エラー:アクティブな接続がありません

上記のコードのどこに問題があるのか​​わかりません。または、リモートサーバーに接続するために何らかの設定を行う必要がありますか。

この問題を克服するのに役立つ貴重な提案をください。

4

3 に答える 3

2

SQLServerがTCP/IPを使用するように構成されていることを確認してください。SQLServerのネットワークユーティリティアプリから有効にします。また、SQL Serverがポート1433(IPアドレス-IPAll-TCPポート)を使用していることも確認してください。

「telnet<server_host>1433」を使用してみてください。接続しない場合、接続を確立することはできません。

于 2010-08-10T15:28:29.533 に答える
1

IMHOの「接続が拒否されました」とは、データベースサーバーがアプリケーションサーバーから見えないことを意味します。

  • IPアドレスとポートを確認してください。
  • データベースサーバーから直接データベース接続を確認します(ファイアウォールを回避するため)。
  • アプリケーションサーバーからのデータベース接続を確認します。

これがお役に立てば幸いです

于 2010-08-09T11:55:32.863 に答える
1

SQLServerを実行しているPCで最初に接続を許可します...[コントロールパネル]->[管理]に移動します。ツール--->セキュリティが強化されたWindowsファイアウォール->インバウンドルール->新しいルール->ポートの選択ラジオボタン->次へ->ポート3306を入力->次へをクリック->最後にルール名を指定connanyのように...[完了]をクリックします

于 2012-05-23T23:43:12.693 に答える