Java 从domino使用JDBC连接到DB2

Java 从domino使用JDBC连接到DB2,java,jdbc,db2,xpages,lotus-domino,Java,Jdbc,Db2,Xpages,Lotus Domino,我正在尝试从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"

我正在尝试从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


为什么会发生这种情况?

应用程序是否可以使用DB2 JDBC驱动程序?我想不是

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


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

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

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


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

如果我将我的db2jcc.jar上传到/jvm/ext/lib路径,是否有运气?它不起作用。我也重新启动了http任务,但出现了相同的错误。重新启动http可能还不够。您将jar添加到服务器,而不仅仅是HTTP任务(插件就是这样)。正如我所说,自8.5.3以来,这不是推荐的方法,因此那些有经验的人是有限的。也许这些链接中的一个将给出Steve Zavocki和我在MWLUG 2015上介绍的关于将DB2与XPages结合使用的答案,并包括一张幻灯片,其中包含一个您可能需要进行的java.policy文件更改的示例,除了您已经完成的更改外,“告诉http重新启动”并不能完全重新启动http。“重启任务http”(可以缩写为“res task http”)就是这样做的。请确保没有任何Domino对象,因为这些对象是不可序列化的。如果我将db2jcc.jar上传到/jvm/ext/lib路径,会不会有好运?它不起作用。我也重新启动了http任务,但出现了相同的错误。重新启动http可能还不够。您将jar添加到服务器,而不仅仅是HTTP任务(插件就是这样)。正如我所说,自8.5.3以来,这不是推荐的方法,因此那些有经验的人是有限的。也许这些链接中的一个将给出Steve Zavocki和我在MWLUG 2015上介绍的关于将DB2与XPages结合使用的答案,并包括一张幻灯片,其中包含一个您可能需要进行的java.policy文件更改的示例,除了您已经完成的更改外,“告诉http重新启动”并不能完全重新启动http。“重启任务http”(可以缩写为“res task http”)就是这样做的。确保没有任何Domino对象,因为这些对象是不可序列化的。