Попытка подключения сначала к СУБД Oracle, а затем к PostgreSQL в таком виде:
import jaydebeapi
...
jaydebeapi.connect('oracle.jdbc.driver.OracleDriver', ora_url, [db_username, ora_password], './ojdbc6.jar')
jaydebeapi.connect('org.postgresql.Driver', pg_url, [pg_user, pg_password], './postgresql-42.2.1.jar')
приводит к ошибке:
TypeError: Class org.postgresql.Driver is not found
Решение: предварительно загрузить JDBC-драйвер СУБД PosgreSQL в экземпляр JVM - см. строку "jpype.startJVM(... classpath=...":
import jaydebeapi
import jpype
...
jHome = jpype.getDefaultJVMPath()
jpype.startJVM(jHome, classpath=['./ojdbc6.jar','./postgresql-42.2.1.jar'])
jaydebeapi.connect('oracle.jdbc.driver.OracleDriver', ora_url, [db_username, ora_password], './ojdbc6.jar')
jaydebeapi.connect('org.postgresql.Driver', pg_url, [pg_user, pg_password], './postgresql-42.2.1.jar')
jpype.shutdownJVM()
Комментариев нет:
Отправить комментарий