Airfow DAG の Denodo データベースでいくつかのテーブルをクエリしようとしていますが、同じエラーが発生し続けます。これは、Airflow サーバーで接続を構成する方法です。
接続 ID: Denodo_DB
接続タイプ: JDBC 接続
接続 URL: jdbc:vdb://oser001.com:9999/admin
ログイン: ユーザー
パスワード: pwd
ドライバー パス: パス
ドライバー クラス: com.denodo.vdp.jdbc.Driver
これは私の現在のコードです:
import jaydebeapi
from builtins import str
from airflow.hooks.jdbc_hook import JdbcHook
SRC_CONN_DENODO = 'Denodo_DB'
def getDenodoConn(*op_args, **context):
print('getDenodoConn() ------ ')
conn_meta = JdbcHook.get_connection(SRC_CONN_DENODO)
host = str(conn_meta.host)
login= str(conn_meta.login)
psw = str(conn_meta.password)|
jdbc_driver_loc = conn_meta.extra_dejson.get('extra__jdbc__drv_path')
jdbc_driver_name = conn_meta.extra_dejson.get('extra__jdbc__drv_clsname')
denodo_conn = jaydebeapi.connect(jclassname=jdbc_driver_name,
url=host,
driver_args=[login, psw],
jars=jdbc_driver_loc)
print('Connected to Denodo database')
いくつかの方法を試しましたが、このエラーを回避できません。
jpype._jclass.java.sql.SQLException: java.sql.SQLException: 接続エラー: OSER001
コードに何か不足していますか? 接続しようとしているデータベースに問題がある可能性はありますか?
jaydebeapi ライブラリーと Denodo データベースを扱うのは初めてなので、自分のやり方が正しいかどうかわかりません。