升级到9.0.1 FP3后,JDBC驱动程序无法用于XPage

时间:2015-02-07 10:16:51

标签: xpages lotus-notes lotus-domino xpinc

我在使用MS JDBC驱动程序连接Lotus Domino 9.0.1FP3和MSSQL数据库时遇到问题this question中详述的相同问题。在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;
} 

2 个答案:

答案 0 :(得分:4)

升级到Fixpack也会导致

<DominoBinary>\jvm\lib\security\java.policy

要更改为默认文件的文件,因此如果您在此处更改了某些内容(例如使用Class.forName),则应添加授予类加载器的访问权限。 我不知道这是不是原因,但有时错误信息并不是指根本原因。

顺便说一句:我们经历过jDTS驱动程序比Microsoft驱动程序具有更好的性能(和更少的错误)。尽管你有问题,你可以看看它。 http://jtds.sourceforge.net/

答案 1 :(得分:3)