0

我正在编写一个 java 代码来连接 MS SQL Server 2005。MS SQL Server 位于远程服务器 windows server 2003 上。我正在尝试以下代码,但无法建立连接:

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

确保您的 SQL Server 配置为使用 TCP/IP。从 SQL Server 的网络实用程序应用程序启用它。还要检查 SQL Server 是否使用端口 1433(IP 地址 - IPAll - TCP 端口)。

尝试使用“telnet <server_host> 1433”。如果它没有连接,您将无法建立连接。

于 2010-08-10T15:28:29.533 回答
1

恕我直言“连接被拒绝”意味着您的数据库服务器在您的应用程序服务器中不可见。

  • 检查 IP 地址和端口。
  • 直接从您的数据库服务器检查数据库连接(以避免防火墙)。
  • 从您的应用程序服务器检查数据库连接。

希望对你有帮助

于 2010-08-09T11:55:32.863 回答
1

首先允许连接您的 SQL 服务器在哪台 PC 上运行...转到控制面板--> 管理员。工具--->具有高级安全性的Windows防火墙-->入站规则-->新规则-->选择端口单选按钮-->下一步-->输入端口3306-->单击下一步-->最后给出规则名称像 conn any...点击完成

于 2012-05-23T23:43:12.693 回答