【问题标题】:Connect to a DB2 with JDBC from domino使用 JDBC 从 domino 连接到 DB2
【发布时间】:2015-12-12 21:56:35
【问题描述】:

我正在尝试从我的 domino 应用程序连接到 db2 数据库,而不使用扩展库。

我创建了一个托管 bean,它只连接到 db2 并在控制台上打印一条消息。

我从 xpage 上的按钮调用托管 bean 的方法。

bean 中的代码是这样的:

Class.forName("com.ibm.db2.jcc.DB2Driver");
String url = "jdbc:db2://10.0.1.49:50000/AVIN";
String user = "db2admin";
String password = "ibmdb2";
con = DriverManager.getConnection(url, user, password);
System.out.println("Successful TEST JDBC Connection!!");

我还配置了构建路径并添加了 db2jcc.jar 库。

问题是我得到了

com.ibm.db2.jcc.DB2Driver 的 java.lang.ClassNotFoundException

为什么会这样?

【问题讨论】:

    标签: java jdbc db2 xpages lotus-domino


    【解决方案1】:

    您的应用程序是否可以使用 DB2 JDBC 驱动程序?我怀疑不是。

    您可能需要将驱动程序打包到插件中 - 在 NSF 中,它可能会遇到 Java 安全问题并且无法正常工作。更新版本的扩展库(Designer 更新站点安装)为 Domino Designer 提供了一个菜单选项,使您可以轻松地将 JDBC 驱动程序打包为插件,然后可以将其部署到您的更新站点数据库。

    我强烈建议使用扩展库。除其他外,它将提供强大的连接池。没有它,您可能会遇到扩展库开发人员的经验已经考虑和解决的问题。如果您确实遇到问题,您可能很难找到有经验的人来帮助您。

    【讨论】:

    • 如果我上传到 /jvm/ext/lib 路径我的 db2jcc.jar 有什么运气吗?
    • 它不起作用。我也重新启动了 http 任务,但我得到了同样的错误。
    • 重启 HTTP 可能还不够。您正在将 jar 添加到服务器,而不仅仅是 HTTP 任务(就像插件一样)。正如我所说,自 8.5.3 以来,这不是推荐的方法,因此有经验的人是有限的。也许这些链接之一会给出答案stackoverflow.com/search?q=[xpages]+jvm%2Flib%2Fext
    • Steve Zavocki 和我在 MWLUG 2015 上介绍了如何将 DB2 与 XPages 结合使用,并附上了一张幻灯片,其中包含一个示例,其中包含您可能需要更改的 java.policy 文件,以及您已经完成的操作完成
    • 啊,“告诉 http 重启”并没有完全重启 HTTP。 “restart task http”(可以缩写为“res task http”)就是这样做的。确保您没有任何 Domino 对象,因为它们是不可序列化的。
    猜你喜欢
    • 2011-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多