[英]Connection SQL server 2012 - Eclipse Neon
我正在一个项目中,我需要将Eclipse IDE连接到SQLServer数据库。 我在Eclipse中下载并导入了.jar SQLJBDC驱动程序文件,并将以下代码放入了我的类中:
`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上进行了授权访问,我真的不知道现在该怎么做。 谁能帮我?
感谢您的帮助!
如果已经将MS SQL服务器配置为侦听TCP / IP通信,则可能是以下原因之一:
如果您已确认问题不属于上述类别,则可以尝试这样做以为TCP / IP流量启用端口1433!
完成这些更改后,您将必须重新启动SQL Server Services > SQL Server
如果这些方法没有帮助,则可以考虑添加以下内容:
System.setProperty("java.net.preferIPv4Stack", "true");
或将其作为VM选项传递: -Djava.net.preferIPv4Stack=true
希望这可以帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.