0

我在 python 3 中使用 jaydebeapi 来运行查询。我需要同时连接到 Netezza 和 MySql。我的代码分别运行这两个查询没有任何问题,但是当我一个接一个运行时,第二个查询出错。我关闭了第一个查询(Netezza)的连接和游标,但仍然出现以下错误:

jpype._jexception.RuntimeExceptionPyRaisable: java.lang.RuntimeException: Class com.mysql.jdbc.Driver not found
4

2 回答 2

0

问题不在于您需要关闭一个连接才能使用另一个连接。问题是,当jaydebeapi用于jpype通信时,您只有一次机会提供您可能使用的所有必要 JAR 文件路径。这可以在_jdbc_connect_jpype函数中看到,here

修复方法是传递您在程序执行期间可能使用的所有JAR 文件路径。

我假设您没有在 Jython 上运行,而是jaydebeapi 自动安装jpype以促进 Python 到 Java 的通信。这是“开箱即用”情况的最可能情况。如果您使用的是 Jython,请告诉我。

于 2018-04-04T15:52:38.713 回答
0

Yu 需要添加 Class Mysql Driver 和 JAR 文件路径,例如带有 IMB jar 的 DB2:

conn = jaydebeapi.connect("com.ibm.as400.access.AS400JDBCDriver", "url", ["user", "password"], "C:\lib\jt400.jar",)

于 2018-04-06T19:36:08.873 回答