使用 Python 从 linux Unbuntu 虚拟机访问 IBM DVM(数据虚拟化管理器)

问题描述 投票:0回答:1

我正在尝试使用 Python 从 linux Unbuntu vm 访问 IBM DVM(Data Virtualization Manager)。

我已经在unbuntu机器上安装了JAVA: java -版本

openjdk 版本“1.8.0_362” OpenJDK 运行时环境(build 1.8.0_362-b08) OpenJDK 64 位服务器 VM(构建 25.362-b08,混合模式)

我还安装了 JayDeBeAPI: pip 安装 JayDeBeApi

安装收集的包:packaging, JPype1, JayDeBeApi 成功安装JPype1-1.4.1 JayDeBeApi-1.2.3 packaging-23.0

从IBM网站我下载了DVM-JDBC3.1驱动程序

https://ak-delivery04-mul.dhe.ibm.com/sar/CMA/IMA/0bb4c/0/dvm-jdbc-3.1.202303130554.zip 解压到/opt/dvm-jdbc-3.1.202303130554.

我也设置了类路径: 回声 $CLASSPATH

/opt/dv-jdbc-3.1.202303130554:/opt/dv-jdbc-3.1.202303130554/dv-jdbc-3.1.202303130554.jar:

现在我正在尝试运行以下 python 代码以连接到 DVM

导入jpype

导入 jaydebeapi

dvm_driver_path = "/opt/dv-jdbc-3.1.202303130554/dv-jdbc-3.1.202303130554.jar"

jpype.addClassPath('/opt/dv-jdbc-3.1.202303130554/dv-jdbc-3.1.202303130554.jar') jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.class.path=%s" % ('/opt/dv-jdbc-3.1.202303130554/dv-jdbc-3.1.202303130554.jar'))

conn = jaydebeapi.connect('com.rs.jdbc.dv.DvDriver.class', 'jdbc:dv://###:##/###', {'用户密码': '####'}, '/opt/dv-jdbc-3.1.202303130554/dv-jdbc-3.1.202303130554.jar')

如果(连接): 打印('已连接') 别的: print('连接失败')

但我收到以下错误: python3 dvm-jdbc.py 追溯(最近一次通话): 文件“/opt/dv-jdbc-3.1.202303130554/dvm-jdbc.py”,第 26 行,位于 conn = jaydebeapi.connect('com.rs.jdbc.dv.DvDriver.class', 文件“/home/sanika/.local/lib/python3.10/site-packages/jaydebeapi/init.py”,第 412 行,在连接中 jconn = _jdbc_connect(jclassname, url, driver_args, jars, libs) _jdbc_connect_jpype 中的文件“/home/sanika/.local/lib/python3.10/site-packages/jaydebeapi/init.py”,第 221 行 jpype.JClass(j类名) new 中的文件“/home/sanika/.local/lib/python3.10/site-packages/jpype/_jclass.py”,第 99 行 返回 _jpype._getClass(jc) 类型错误:找不到类 com.rs.jdbc.dv.DvDriver.class

我的司机班错了吗? 如果是这样,正确的是什么?

ubuntu jdbc jaydebeapi data-virtualization dvm
1个回答
0
投票

正确的类名应该是 'com.rs.jdbc.dv.DvDriver' ,所以你的连接线应该是

conn = jaydebeapi.connect('com.rs.jdbc.dv.DvDriver', 'jdbc:dv://###:##/###', {'user': '#####', 'password': '####'}, '/opt/dv-jdbc-3.1.202303130554/dv-jdbc-3.1.202303130554.jar')

还要确保 JDBC 驱动程序的路径是正确的,因为您在代码中提到了

/opt/dvm-jdbc-3.1.202303130554
/opt/dv-jdbc-3.1.202303130554

© www.soinside.com 2019 - 2024. All rights reserved.