没有为jdbc找到合适的驱动程序:db2:在java中

时间:2017-05-12 10:59:34

标签: java jdbc

我尝试使用以下java代码连接到远程数据库,但是我收到错误消息,说找不到合适的驱动程序

我在项目中包含了必需的db2库:

enter image description here

我在主类

中声明了jdbc设置
Settings.loadSettings();

Class.forName("Settings.DB2_JDBC_DRIVER");

Controller con = new Controller();
con.business_logic();
}

然后尝试在另一个类中连接数据库

public Connection getDBConnection()
{
Connection DBConnection = null;
try {
  System.out.println("Connecting to  database " + Settings.DBName + ".");
  String DBURL = "jdbc:db2://" + Settings.DBServer + ":" + Settings.DBPort + 
 "/" + Settings.DBName + ";";
  String decryptedPass = decryptPassString(Settings.DBPass);
  DBConnection = DriverManager.getConnection(DBURL, Settings.DBUser, 
  decryptedPass);
  System.out.println("Database connection successfully established to  
  database " + Settings.DBName + " using user " + Settings.DBUser + ".");
  return DBConnection;
 }
 catch (Exception e) {
  System.out.println("An unexpected error occurred when attempting to 
 establish connection to  database " + Settings.DBName + ". The error was: " 
 + e.getMessage() + "\r\n" + e.getMessage()); }
return DBConnection;
}

任何人都可以解释我在这里缺少的东西吗?

我收到的错误消息是

尝试与数据库DWHER00建立连接时发生意外错误。错误是:没有为jdbc找到合适的驱动程序:db2:/

2 个答案:

答案 0 :(得分:6)

该行:

Class.forName("Settings.DB2_JDBC_DRIVER");

理想情况应该是这样的:

Class.forName("com.ibm.db2.jcc.DB2Driver");

除非您为DB2创建自己的驱动程序。

您将需要用于正在使用的DB2安装的JAR文件。

将它们放在类路径中并进行上述代码更改。它应该工作。

IBM DB2 Universal Driver Type 4

驱动程序类名称:

com.ibm.db2.jcc.DB2Driver 

驱动程序Jar文件:db2jcc.jardb2jcc_license_cu.jar (必须包括这两个罐子)

JDBC URL格式:

jdbc:db2://<host>[:<port>]/<database_name>

JDBC URL示例:

jdbc:db2://127.0.0.1:50000/SAMPLE

IBM DB2 Universal Driver Type 2

驱动程序类名称:

com.ibm.db2.jcc.DB2Driver

驱动程序Jar文件:db2jcc.jardb2jcc_license_cu.jar (必须包括这两个罐子)

JDBC URL格式:

jdbc:db2:<database_name> 

JDBC URL示例:

jdbc:db2:sample 

希望这有帮助!

答案 1 :(得分:0)

确保/ lib文件夹也添加到项目的构建路径中。见other answer