0
votes

My application run on Suse Linux with IBM JDK 8. The code is

        Connection con=DriverManager.getConnection("jdbc:sqlserver://xx.xx.xx.xx:1433;DatabaseName", "user", "password");
        Statement sta=con.createStatement();
        String sql="select * from table";

The problem is

The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "SQL Server returned an incomplete response. The connection has been closed

If I change the jdk from IBM to Oracle ,the application will be run . How do I connect sqlserver with IBM JDK?

java version "1.8.0" Java(TM) SE Runtime Environment (build pxa6480sr3fp12-20160919_01(SR3 FP12)) IBM J9 VM (build 2.8, JRE 1.8.0 Linux amd64-64 Compressed References 20160915_318796 (JIT enabled, AOT enabled) J9VM - R28_Java8_SR3_20160915_0912_B318796 JIT - tr.r14.java.green_20160818_122998 GC - R28_Java8_SR3_20160915_0912_B318796_CMPRSS J9CL - 20160915_318796) JCL - 20160914_01 based on Oracle jdk8u101-b13

1
do you know the specific Java version of each? Maybe you could try a jvm argument such as -Dhttps.protocolsBrandon G
@BrandonG my application run on a Suse Linux OS with a IBM JDK installed, but it's not my own JVMRan Ji

1 Answers

0
votes

add a tls version jdbc:sqlserver://xx.xx.xx.xx:1433;DatabaseName=databasename;sslProtocol=TLSv1.2