gpt4 book ai didi

java - 在 web-inf\lib 中找不到适合 jdbc :db2 with db2jcc4. jar 的驱动程序

转载 作者:行者123 更新时间:2023-11-28 22:11:27 24 4
gpt4 key购买 nike

我正在尝试运行一个连接到后端 DB2 数据库 (IBM dashdb) 的简单 Java Web 应用程序来检索一些数据。

当我尝试在 ubuntu 托管的 tomcat 8.5 上运行此应用程序时,我收到一条奇怪的错误消息。我设法让这个应用程序在 Windows 上托管的 tomcat v8 上运行。

实际的错误信息是:

No suitable driver found for jdbc:db2://yp-dashdb......

我真的不明白为什么会这样,因为我有 db2jcc4。在我的 web-inf\lib 文件夹中。 enter image description here

我认为库有问题,所以我创建了一个单独的 Java 应用程序来简单地连接数据库并从中检索一些数据。那个在同一个库中工作得很好。

这是用于建立连接的代码(我删除了一些细节)。

private Connection conn = null;   
conn= DriverManager.getConnection("jdbc:db2://yp-dashdb...");

请记住,此完全相同的代码可在标准 Java 应用程序中运行,因此连接详细信息有效且连接信息中没有拼写错误。

我在这里忽略了一些明显的东西吗?

最佳答案

在花了一些时间尝试解决这个问题后,我发现了问题所在。我的驱动程序没有被 DriverManager 注册。我找到的快速修复方法是在尝试加载驱动程序之前手动注册它。

DriverManager.registerDriver(new com.ibm.db2.jcc.DB2Driver());

这解决了我的问题。我发现这个的方法是打印出所有注册的驱动程序并打印出来。这不是最优雅的解决方案,但它帮助我找出了我所缺少的东西。

        /*
System.out.println("checking for drivers");
Enumeration<Driver> myDrivers = DriverManager.getDrivers();
System.out.println(myDrivers.hasMoreElements());

while(myDrivers.hasMoreElements()){
System.out.println(myDrivers.nextElement().toString());
}
*/

关于java - 在 web-inf\lib 中找不到适合 jdbc :db2 with db2jcc4. jar 的驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40497628/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com