2017-01-28 21 views
2

Airflow UIを使用してDB2/DashDB接続を作成しようとしています。私はdb2jcc4.jarドライバーを追加し、クラス名と同様にクラス名com.ibm.db2.jcc.DB2Driver.classを提供しました。Apache AirflowでDB2/DashDB JDBC接続を設定できません。

私はアドホックUIで簡単なクエリを実行しようとしましたが、同じエラー

java.lang.RuntimeException:誰が前にセットアップするApacheのエアフローでDB2/DashDB接続を必要としましたクラスcom.ibm.db2.jcc.DB2Driver.classは

を見つけていませんか?

ウェブ上には何も見つかりませんでした。

おかげ

+1

をあなたは.classファイル「でそれを指定しました"?はいの場合は、単に "com.ibm.db2.jcc.DB2Driver"を試しましたか? –

+0

ねえ、私は両方の方法を試みました。 –

+0

あなたはそれを把握しましたか?私は同じ問題を抱えていますが、Netezza JDBCドライバを使っています。 – Alienfluid

答えて

0

はチェックができますが、接続URL、ドライバーのパスおよびドライバーのクラスのいずれかの先頭の空白スペースを持っていけないことを確認するには愚かなものになるかもしれませんね。また、「気流」のユーザー(または誰が実行されている気流プロセスは、ドライバのパスへのアクセス権を持っている必要があります。

0

をあなたはまだこれを考え出したていない場合は、私は同じ問題に遭遇した。私が来たいくつかのデバッグを

をここでは、ファイルjdbc_hook.pyhttps://github.com/apache/incubator-airflow/blob/master/airflow/hooks/jdbc_hook.py#L55 欠けている1つのパラメータはjaydebeapi.connectメソッド呼び出しに期待することを見つける。特に

。接続のURLである必要があり二番目のパラメータを、不足している私は、内のコードを変更します方法get_connを試してみてください。

def get_conn(self): 
    ...... 

    conn = jaydebeapi.connect(jdbc_driver_name, 
          host, 
         driver_args=[str(login), str(psw)], 
           jars=jdbc_driver_loc) 
    return conn  

お知らせhostjaydebeapi.connectへの呼び出しに追加。

私はPRを開くことを考えていたが、その後見直した、彼らはすでに場所のカップルで何か(エアフローの障害報告でjdbcを検索)持っている:

https://github.com/apache/incubator-airflow/pull/2227

関連する問題