我正在一個項目中,我需要將Eclipse IDE conenct到SQLServer數據庫。我下載和進口在Eclipse中的.jar SQLJBDC驅動程序文件,並把下面的代碼在我的課:連接SQL服務器2012年 - Eclipse的霓虹燈
`import java.sql.*;
import java.sql.DriverManager;
public class connexion {
// Méthode permettant d'enregistrer des données dans la base de données
public static void rempli() {
String url = "jdbc:sqlserver://localhost:1433;databaseName=Tunnel" ;// le chemin vers le serveur de BD et la base de données
String user = "sa"; // Nom d'un utilisateur de la base de données
String pass = "*********"; // Son mot de passe
Connection cn = null; // Déclaration d'un objet de type connection, il permet d'utiliser une méthode de connexion
Statement st = null; // Déclaration d'un objet Statement. il permet d'envoyer des requêtes
try {
//Etape 1 : Chargement du driver
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//Etape 2 : récupération de la connexion
cn = DriverManager.getConnection(url, user, pass);
}
catch (SQLException | ClassNotFoundException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
rempli();
}
}`
當我啓動了程序,我有近20秒後如下回答:
com.microsoft.sqlserver.jdbc.SQLServerException: Échec de la connexion TCP/IP à l'hôte localhost, port 1433. Erreur : « Connection refused: connect. Vérifiez les propriétés de connexion. Assurez-vous qu'une instance de SQL Server est en cours d'exécution sur l'hôte et accepte les connexions TCP/IP au port. Vérifiez que les connexions TCP au port ne sont pas bloquées par un pare-feu. ».
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:191)
at com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:242)
at com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2369)
at com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:551)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1963)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1628)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1459)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:773)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1168)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at connexion.rempli(connexion.java:21)
at connexion.main(connexion.java:32)
我停用了我的防火牆,授權訪問不同端口上的TPC,我現在不知道該怎麼做。誰能幫我?
謝謝你的幫助!
你有沒有嘗試Telnet來檢查你可以連接到本地端口1433上的數據庫? –
我的法語太糟糕了,無法理解整個錯誤消息,但您是否在SqlServer上啓用了TCP?如果我沒有記錯,TCP默認情況下... – Ben
禁用是的,我檢查了這一切,並在防火牆,但仍然有此錯誤信息...... – Carlito1895