繁体   English   中英

连接SQL Server 2012-Eclipse Neon

[英]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通信,则可能是以下原因之一:

  • 防火墙阻止传入连接
  • SQL SERVER不在主机上运行
  • 您配置的端口不正确,即不是1433

如果您已确认问题不属于上述类别,则可以尝试这样做以为TCP / IP流量启用端口1433!

  • 转到开始->所有程序-> Microsoft SQL Server 2008/2012/2014->配置工具
  • 单击“ SQL Server配置管理器”
  • 展开SQL Server网络配置->协议
  • 启用TCP / IP权限框
  • 双击TCP / IP并转到IP地址选项卡,然后在TCP端口下添加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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM