2010-08-09 8 views
0

Je suis en train d'écrire un code Java pour se connecter à MS SQL Server 2005. MS SQL Server est sur serveur serveur Windows distant 2003. J'essaie le code suivant mais je suis incapable d'établir une connexion:Java DataBase Problème de connectivité avec MS SQL Server 2005 à partir d'un serveur distant

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(); 
    } 
} 

Mais je reçois des exceptions suivantes:

 
com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host has failed. java.net.ConnectException: Connection refused: connect 
     at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source) 
Error Trace in getConnection() : The TCP/IP connection to the host has failed. java.net.ConnectException: Connection refused: connect 
Error: No active Connection 

Je ne reçois pas où est le problème dans le code ci-dessus ou ai-je besoin de faire un peu la mise en pour se connecter au serveur distant.

S'il vous plaît donnez-moi votre précieuse suggestion qui peut m'aider à surmonter ce problème.

Répondre

1

IMHO "Connexion refusée" signifie que votre serveur de base de données n'est pas visible depuis votre serveur d'applications.

  • Vérifiez l'adresse IP et le port.
  • Vérifiez la connectivité de la base de données directement à partir de votre serveur de base de données (pour éviter les pare-feu).
  • Vérifiez la connectivité de la base de données à partir de votre serveur d'applications.

Espérons que cela vous aidera

2

Assurez-vous que votre serveur SQL est configuré pour utiliser le protocole TCP/IP. Activez-le à partir de l'application Network Utility de SQL Server. Vérifiez également que le serveur SQL utilise le port 1433 (adresses IP - port IPAll - TCP). Essayez d'utiliser "telnet <server_host> 1433". S'il ne se connecte pas, vous ne pourrez pas établir de connexion.

1

PERMETTRE LA CONNEXION D'ABORD SUR LE PC QUI FONCTIONNE VOTRE SERVEUR SQL ... PASSER AU PANNEAU DE CONTRÔLE -> ADMIN. OUTILS ---> Pare-feu Windows avec sécurité avancée -> règles Inbounded -> nouvelle règle -> sélectionnez le bouton radio du port -> suivant -> entrez le port 3306 -> cliquez sur Suivant -> enfin donner le nom de la règle comme conn any ... click finish

Questions connexes