我尝试使用以下java代码连接到远程数据库,但是我收到错误消息,说找不到合适的驱动程序
我在项目中包含了必需的db2库:
我在主类
中声明了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:/
答案 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.jar
和db2jcc_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.jar
和db2jcc_license_cu.jar
(必须包括这两个罐子)
JDBC URL格式:
jdbc:db2:<database_name>
JDBC URL示例:
jdbc:db2:sample
希望这有帮助!
答案 1 :(得分:0)
确保/ lib文件夹也添加到项目的构建路径中。见other answer