Java 6.0 | Sqljdbc2.0.jar-com.microsoft.sqlserver.jdbc.SQLServerException

Java 6.0 | Sqljdbc2.0.jar-com.microsoft.sqlserver.jdbc.SQLServerException,java,sql-server,jdbc,Java,Sql Server,Jdbc,我正在尝试从Unix服务器连接到SQL DB。我已经为此编写了一个Java程序,并在jre6.0和sqljdbc4-2.0.jar中编译。但是,当我尝试在Unix服务器中打开我的jar时,会出现以下错误: com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SS

我正在尝试从Unix服务器连接到SQL DB。我已经为此编写了一个Java程序,并在jre6.0和sqljdbc4-2.0.jar中编译。但是,当我尝试在Unix服务器中打开我的jar时,会出现以下错误:

com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "SQL Server did not return a response. The connection has been closed.".
        at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:1368)
        at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1412)
        at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1058)
        at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:833)
        at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:716)
        at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:841)
        at java.sql.DriverManager.getConnection(DriverManager.java:419)
        at java.sql.DriverManager.getConnection(DriverManager.java:467)
        at com.tgt.ttedb.TTEDatabaseUpdate.main(TTEDatabaseUpdate.java:31)
Caused by: java.io.IOException: SQL Server did not return a response. The connection has been closed.
        at com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandshakeInputStream.ensureSSLPayload(IOBuffer.java:513)
        at com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandshakeInputStream.readInternal(IOBuffer.java:570)
        at com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandshakeInputStream.read(IOBuffer.java:562)
        at com.microsoft.sqlserver.jdbc.TDSChannel$ProxyInputStream.readInternal(IOBuffer.java:757)
        at com.microsoft.sqlserver.jdbc.TDSChannel$ProxyInputStream.read(IOBuffer.java:745)
        at com.ibm.jsse2.b.a(b.java:215)
        at com.ibm.jsse2.b.a(b.java:18)
        at com.ibm.jsse2.SSLSocketImpl.a(SSLSocketImpl.java:215)
        at com.ibm.jsse2.SSLSocketImpl.h(SSLSocketImpl.java:693)
        at com.ibm.jsse2.SSLSocketImpl.a(SSLSocketImpl.java:535)
        at com.ibm.jsse2.SSLSocketImpl.startHandshake(SSLSocketImpl.java:710)
        at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1379)

您的Java_6环境可能迫使您使用的SQL Server JDBC驱动程序版本太旧,无法与当前版本的SQL Server或Azure通信。因此,我必须使用较低版本的SQL JDBC驱动程序吗?您最好使用较新版本的驱动程序,您真的不应该再以Java6为目标。@MarkRotterVeel我没有选择从Java6转移,因为我的prod服务器托管了许多我无法控制的其他应用程序。我将尝试使用下一个版本的sqljdbc