我正在尝试在 Airfow DAG 中查询 Denodo 数据库中的一些表,但我不断收到相同的错误。这就是我在 Airflow 服务器中配置连接的方式:
连接 ID:Denodo_DB
连接类型:JDBC 连接
连接网址: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 数据库,所以我不确定我是否做对了。