首页 文章

使用sql server 2017连接java时出错

提问于
浏览
0
public class RDF2Connection {

     static Connection connection=null;
     final static String connectionUrl = "jdbc:sqlserver://DESKTOP-Q5K9FE6:1433;" +
             "databaseName=RDFDB;";
    public static Connection getRdf2Connected(){

            try {
                Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
                connection = DriverManager.getConnection(connectionUrl, "sa", "root");
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            return connection;
        }

}

com.microsoft.sqlserver.jdbc.SQLServerException:与主机DESKTOP-Q5K9FE6,端口1433的TCP / IP连接失败 . 错误:“连接被拒绝:没有进一步的信息 . 验证连接属性 . 确保主机上正在运行SQL Server实例并接受端口上的TCP / IP连接 . 确保端口的TCP连接未被阻止防火墙 . “ at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:206)at com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:257)at com.microsoft.sqlserver.jdbc.SocketFinder.findSocket (IOBuffer.java:2385)com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:567)位于com.microsoft的com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1955) . sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1616)位于com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1447)的com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java: 788)在com.smicrosoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1187)java.sql.DriverManager.getConnection(DriverManager.java:664)java.sql.DriverManager.getConnection(DriverManager.java:247) )在com.rdf2.databaseconnection.RDF2Connection.g MainClass.main中的etRdf2Connected(RDF2Connection.java:22)(MainClass.java:53)MainClass.main中的java.lang.NullPointerException(MainClass.java:54)进程以退出代码0结束

2 回答

  • 0

    你能看到SQL Server是否只是在侦听IPv6端口吗?如果是这样,您可以使用以下内容

    System.setProperty("java.net.preferIPv6Addresses", "true");
    

    就代码更改而言,这是我唯一的建议 . 可能尝试使用IP而不是名称 . 如果这不起作用,您需要转到SQL Server并验证它是否接受TCP / IP连接,或检查本地防火墙设置 . 此时,问题更适合服务器交换 .

  • 0

    只需确保这是正确的端口

    这是真正的答案谢谢 .

相关问题