0

我正在尝试使用 jaydebeapi 将本地 derby 数据库中的数据导入 python。我正在从 PyCharmCE 运行 python 3.6:

import jaydebeapi as jdbc

conn = jdbc.connect("org.apache.derby.jdbc.ClientDriver", "jdbc:derby://address:port/db_name", ["user", "pwd"], "path/to/derbyclient-10.14.2.jar")
curs = conn.cursor()

curs.execute("select ITEM from TABLENAME")
rec = curs.fetchone()[0]

curs.execute("select BLOB from TABLENAME")
rec = curs.fetchone()[0]

curs.close()
conn.close()

虽然第一次查询一切顺利,但我在处理数据块时遇到了问题。我收到以下运行时错误:

Process finished with exit code 134 (interrupted by signal 6: SIGABRT)

blob 数据大小约为。200kB。在运行时,rec 变量的类型为 org.apache.derby.client.am.ClientBlob - 发现有点令人费解......不知道它是否有助于解决方案。

提前谢谢任何提示!

4

1 回答 1

0

这似乎是JPype 0.7.5(可能更早)的问题。这可能会在即将到来的 0.7.6 中修复。

如果您还没有尝试 JayDeBeApi 1.2.3,也可能值得尝试。

于 2020-06-16T12:56:14.093 回答