【发布时间】:2018-12-27 21:26:49
【问题描述】:
我必须连接到 DB2 以提取一些数据并创建 Tableau 数据提取,为此我想使用 JayDeBeApi,并对其进行测试我试图将自己连接到一个小型 Postgres 数据库,但我无法与它建立正确的连接,因为它一直向我抛出以下错误:
jpype._jexception.RuntimeExceptionPyRaisable: java.lang.RuntimeException: Class org.postgresql.Driver not found
我目前的实现是这样的
import jaydebeapi as jdbc
sql = 'Select * From world.city'
postgresql_class = 'org.postgresql.Driver'
postgresql_jdbc_path = 'path/to/postgresql-42.2.4.jar'
postgresql_url = 'jdbc:postgresql://host:port/database'
postgresql_user = 'user'
postgresql_pw = 'pass'
conn = jdbc.connect(postgresql_class,
[postgresql_url, postgresql_user, postgresql_pw],
postgresql_jdbc_path)
curs = conn.cursor()
curs.execute('SELECT * FROM csv_reports LIMIT 2')
curs.fetchall()
curs.close()
conn.close()
有谁知道我必须指定什么类才能完成这项工作?或者我如何指定 jdbc 路径以便 JayDeBeApi 可以使用该类或其他东西
【问题讨论】:
-
或许可以试试
postgresql_jdbc_path = ['path/to/postgresql-42.2.4.jar'] -
另外,我不认为
postgresql_url应该在用户名和密码的列表中。更像jdbc.connect(postgresql_class, postgresql_url, [postgresql_user, postgresql_pw], postgresql_jdbc_path) -
列表
postgresql_url是问题所在,非常感谢
标签: database postgresql jdbc jaydebeapi