0

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 データベースを扱うのは初めてなので、自分のやり方が正しいかどうかわかりません。

4

0 に答える 0