2017-05-12 16 views
0

に、私は次のJavaコードを使用してリモートデータベースに接続しようとしているが、私は何の最適なドライバは、私は必要なDB2が含まれているJDBCが見つかりません、適切なドライバ:DB2:javaの

を見つからないというエラーを取得します私のプロジェクト内のライブラリ:

enter image description here

私はメインクラスでJDBC設定

Settings.loadSettings(); 

Class.forName("Settings.DB2_JDBC_DRIVER"); 

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

が続いてDATを接続しようと宣言しています別のクラスに変更する

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

あなたは 'Class.forName'が例外を投げていないと確信していますか?例外は無視されていますか? –

答えて

6

ライン:あなたがのために、独自のドライバを作成している場合を除き

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

Class.forName("Settings.DB2_JDBC_DRIVER"); 

は、理想的には、このようなものでなければなりませんDB2。

使用しているDB2インストール用のJARファイルが必要です。

これらをクラスパスに入れて、上記のコードを変更します。そしてそれはうまくいくはずです。


IBM DB2ユニバーサルドライバタイプ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ユニバーサルドライバタイプ2

ドライバクラス名:

com.ibm.db2.jcc.DB2Driver 

ドライバのJARファイル:db2jcc.jardb2jcc_license_cu.jar (これらのjarファイルの両方が含まれていなければならない)

JDBCのURLのフォーマット:

jdbc:db2:<database_name> 

JDBCのURL例:

jdbc:db2:sample 

・ホープ、このことができます!

+0

ご協力ありがとうございます。問題を見つけて修正しました。今はうまくいっている。 –

0

プロジェクトのビルドパスにも/ libフォルダが追加されていることを確認してください。ここをクリックother answer

関連する問題