Domino 서버에서 실행중인 Java 에이전트가 있습니다. 그것은 Domino 9.0.1 FP7 버전에서 잘 돌아가고있었습니다. MS Windows 서버는 2003 년입니다. SQL 서버 버전을 기다리고 있습니다.JDBC가 SQL Server에 SSL 연결 (Domino Java Agent FP 9)을 설정할 수 없습니다.
이제 Domino 서버를 9.0.1 FP9로 업그레이드했습니다. JVM은 1.6에서 1.8으로 증가했습니다.
내가 더 성공 (같은 오류)와 함께이 문제를 해결하기 위해 노력 6.2.2 4.2에서 JDBC 드라이버를 업그레이드 때문에 예외 오류가 JVM 또는 Java 정책에 의해 발생합니다 가정입니다.
연결 문자열 원본 (JDBC 드라이버 ... JVM/lib 디렉토리/내선/MSSQL - JDBC - 6.2.2.jre8.jar)
String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String url = "jdbc:sqlserver://SERVER";
연결 문자열 같은 결과 (JDBC 드라이버 ... JVM/lib/ext/mssql-jdbc-6.2.2.jre8.jar) - encrypt = false가 추가되었습니다.
String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String url = "jdbc:sqlserver://SERVER:1433;encrypt=false;";
예외
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. ClientConnectionId:e8a3a2c4-d9a9-4f82-a63f-967cae0c29f0".
at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:2435)
at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1816)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2022)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1687)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1528)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:866)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:569)
at java.sql.DriverManager.getConnection(DriverManager.java:675)
at java.sql.DriverManager.getConnection(DriverManager.java:258)
at OrderTrackOrders.NotesMain(Unknown Source)
at lotus.domino.AgentBase.runNotes(Unknown Source)
at lotus.domino.NotesThread.run(Unknown Source)
Caused by: java.io.IOException: SQL Server did not return a response. The connection has been closed. ClientConnectionId:e8a3a2c4-d9a9-4f82-a63f-967cae0c29f0
at com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandshakeInputStream.ensureSSLPayload(IOBuffer.java:774)
at com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandshakeInputStream.readInternal(IOBuffer.java:830)
at com.microsoft.sqlserver.jdbc.TDSChannel$SSLHandshakeInputStream.read(IOBuffer.java:821)
at com.microsoft.sqlserver.jdbc.TDSChannel$ProxyInputStream.readInternal(IOBuffer.java:1003)
at com.microsoft.sqlserver.jdbc.TDSChannel$ProxyInputStream.read(IOBuffer.java:991)
at com.ibm.jsse2.b.a(b.java:272)
at com.ibm.jsse2.b.a(b.java:148)
at com.ibm.jsse2.at.a(at.java:19)
at com.ibm.jsse2.at.i(at.java:627)
at com.ibm.jsse2.at.a(at.java:689)
at com.ibm.jsse2.at.startHandshake(at.java:432)
at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1753)
... 10 more
SQL 서버의 버전은 무엇? SQL Server가 프로토콜 암호화를 강제하도록 구성 되었습니까? SQL 로그에 로그인 실패에 대한 자세한 내용이 있습니까? –
MS 윈도우 2003 서버. 나는 일단 SQL 서버 버전을 발견하면 다시보고 할 것이다. O/S가 TLS 1.2를 지원하지 않는다면 어떤 옵션이 있습니까? – xpagesbeast
지원되지 않는 운영 체제에서는 변경하지 않아야합니다. 강제 암호화가 SQL Server에 설정되어 있다면 아마도 암호화를 끄고 암호화없이 연결할 수 있습니다. –