Я не могу подключиться к базе данных из моей программы Jython. Чистые Java-программы могут подключаться, и я могу подключаться к базе данных из Jython, но только с использованием моста JDBC-ODBC: «sun.jdbc.odbc.JdbcOdbcDriver». Если я использую собственный драйвер JDBC, моя программа завершается ошибкой с исключением «драйвер не найден».
Код:
import sys
from com.ziclix.python.sql import zxJDBC
connection1 = zxJDBC.connect('jdbc:odbc:test_odbc', 'postgres', 'postgres', 'sun.jdbc.odbc.JdbcOdbcDriver')
print "JDBC:ODBC connection set"
connection2 = zxJDBC.connect('jdbc:postgresql://127.0.0.1/test?stringtype=unspecified', 'postgres', 'postgres', 'org.postgresql.Driver')
print "JDBC native connection set"
Выход:
C:\tools\pyscripts\scripts\db_examples>jython --version
Jython 2.5b1 (trunk:5903:5905, Jan 9 2009, 16:01:29)
[Java HotSpot(TM) Client VM (Sun Microsystems Inc.)] on java1.6.0_11
C:\tools\pyscripts\scripts\db_examples>jython pg_test.py
JDBC:ODBC connection set
Traceback (most recent call last):
File "pg_test.py", line 6, in <module>
connection2 = zxJDBC.connect('jdbc:postgresql://127.0.0.1/test?stringtype=un
specified', 'postgres', 'postgres', 'org.postgresql.Driver')
zxJDBC.DatabaseError: driver [org.postgresql.Driver] not found
Я думаю, что мой CLASSPATH установлен правильно, в то время как собственные программы Java могут подключаться к этой базе данных с помощью собственного драйвера. Я обнаружил, что все драйверы JDBC имеют файлы .pkc в cachedir\packages.
Что я должен установить, чтобы получить соединение с базой данных?