繁体   English   中英

python:如何使用jdbc连接到oracle数据库

[英]python: how to connect to oracle database using jdbc

您能否启发我如何使用Python / Jython连接到Oracle实例?

完全安装Jython之后,Oracle网站( http://www.oracle.com/technetwork/articles/dsl/mastering-oracle-python-providers-1395759.html )建议: 您需要提供的只是确保ojdbc6 .jar位于CLASSPATH或JYTHONPATH中,因此可以解析连接驱动程序。

我读到,当使用-jar选项时,将忽略CLASSPATH环境变量。 所以我确实喜欢:

java -classpath /usr/lib/oracle/12.1/client64/lib/ojdbc6.jar  -jar jython.jar

from java.sql import DriverManager
db_connection = DriverManager.getConnection("jdbc:oracle:thin:@xxxxx:1521/P1FNTPE", "xxx", "xxx")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
    at java.sql.DriverManager.getConnection(DriverManager.java:596)
    at java.sql.DriverManager.getConnection(DriverManager.java:215)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)

java.sql.SQLException: java.sql.SQLException: No suitable driver found for jdbc:oracle:thin:@xxxxx:1521/P1FNTPE

您能帮我解决这个问题吗?

如问题中所述,JDBC驱动程序的JAR文件的完整路径必须存在于CLASSPATH或JYTHONPATH环境变量中,以便Jython脚本可以找到它。 可以根据所使用的环境(外壳)以多种方式修改这些变量,如此处的Jata教程所述:

路径和类路径

在这种情况下,只需添加行

export CLASSPATH=/usr/lib/oracle/12.1/client64/lib/ojdbc6.jar

解决方案是启动到其中一个启动文件(例如〜/ .bash_profile,〜/ .profile,〜/ .bashrc等),然后重新登录(或在文件上运行source )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM