Xpages 升级到9.0.1 FP3后,JDBC驱动程序不适用于XPage

Xpages 升级到9.0.1 FP3后,JDBC驱动程序不适用于XPage,xpages,lotus-notes,lotus-domino,xpinc,Xpages,Lotus Notes,Lotus Domino,Xpinc,我在使用MS JDBC驱动程序连接LotusDomino9.0.1FP3和MSSQL数据库时遇到了一个问题,在中详细介绍了相同的问题。在9.0.1中一切都很好,但FP3的应用破坏了链接 The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "SSLv3 SSLContext not available". SSL

我在使用MS JDBC驱动程序连接LotusDomino9.0.1FP3和MSSQL数据库时遇到了一个问题,在中详细介绍了相同的问题。在9.0.1中一切都很好,但FP3的应用破坏了链接

The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "SSLv3 SSLContext not available". SSLv3 SSLContext not available
我尝试了JDBC驱动程序的升级,但在TomSta的评论中,它似乎没有带来任何不同

我尝试设置encrypt=true&trustServerCertificate=true,这似乎也没有任何区别

是否需要对Domino/SQL/Windows服务器进行更改以解决此问题

我的代码和错误位置如下所示:

    public static ResultSet executeQuery(String connString, String userName, String pwd, String query) {

    //example connString: "jdbc:sqlserver://10.203.32.16;DatabaseName=DBTest";

    ResultSet rs = null;
    Statement st = null;
    Connection conn = null; 

    try {
        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
        conn = DriverManager.getConnection(connString, userName, pwd); //Error occurs here
        st = conn.createStatement();
        rs = st.executeQuery(query);
    } catch (Exception e) {
        if ( query != null ) {
            System.out.println("Failed SQL query: " + query);
        }
        try {
            if (rs != null) { rs.close(); }
        } catch (SQLException sqlEx) { rs = null; }
        try {
            if (st != null) { st.close(); }
        } catch (SQLException sqlEx) { st = null; }
        try {
            if (conn != null) { conn.close(); }
        } catch (SQLException sqlEx) { conn = null; }
        e.printStackTrace();
        return null;
    }

    return rs;
} 

这可能源于SSLv3/TLS更改。看看这个:


这可能源于SSLv3/TLS更改。看看这个:


升级到补丁包也会导致

<DominoBinary>\jvm\lib\security\java.policy
\jvm\lib\security\java.policy
要将文件更改为默认文件,因此如果您在此处更改了某些内容(例如使用Class.forName),则应添加授予类装入器的访问权限以使其正常工作。 我不知道这是否是一个原因,但有时错误消息并不涉及根本原因


顺便说一句:我们体验到jDTS驱动程序比Microsoft驱动程序有更好的性能(并且更少的bug)。尽管你有问题,你还是可以看看它

升级到补丁包也会导致

<DominoBinary>\jvm\lib\security\java.policy
\jvm\lib\security\java.policy
要将文件更改为默认文件,因此如果您在此处更改了某些内容(例如使用Class.forName),则应添加授予类装入器的访问权限以使其正常工作。 我不知道这是否是一个原因,但有时错误消息并不涉及根本原因


顺便说一句:我们体验到jDTS驱动程序比Microsoft驱动程序有更好的性能(并且更少的bug)。尽管你有问题,你还是可以看看它

java.policy文件目前在我们的服务器上保留为默认文件,因此这不应该成为问题。我已经尝试切换到使用jDTS,但这返回错误403-禁止您执行此操作。sqljdbc4.jar和jtds-1.2.8.jar都可以在8.5.3和9.0.1之间的其他服务器上工作(没有FP3)。我已尝试添加grant{permission java.security.AllPermission;};到java.policy文件,但没有成功。java.policy文件目前在我们的服务器上保留为默认文件,因此这不应该是问题所在。我已经尝试切换到使用jDTS,但这返回错误403-禁止您执行此操作。sqljdbc4.jar和jtds-1.2.8.jar都可以在8.5.3和9.0.1之间的其他服务器上工作(没有FP3)。我已尝试添加grant{permission java.security.AllPermission;};无法成功访问java.policy文件。