Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从java(cx\U oracle)中的python代码连接到oracle DB时出错_Java_Python_Oracle_Intellij Idea - Fatal编程技术网

从java(cx\U oracle)中的python代码连接到oracle DB时出错

从java(cx\U oracle)中的python代码连接到oracle DB时出错,java,python,oracle,intellij-idea,Java,Python,Oracle,Intellij Idea,我正在尝试从java代码运行python脚本,以便连接到Oracle数据库(使用cx\u Oracle)。我用intellij IDEA 14编码。当我单独运行python代码时,一切正常,但当我从java代码运行python代码时,我收到一个错误: File "D:\New folder\fuckedtest\src\Oracle\connection.py", line 6, in <module> import cx_Oracle File "__pyclasspa

我正在尝试从java代码运行python脚本,以便连接到Oracle数据库(使用
cx\u Oracle
)。我用intellij IDEA 14编码。当我单独运行python代码时,一切正常,但当我从java代码运行python代码时,我收到一个错误:

File "D:\New folder\fuckedtest\src\Oracle\connection.py", line 6, in <module>
    import cx_Oracle
  File "__pyclasspath__/cx_Oracle/__init__.py", line 8, in <module>
  File "__pyclasspath__/cx_Oracle/datetime.py", line 11, in <module>
ImportError: No module named cx_Oracle._BASEVARTYPE
这是我的python代码:

    def testcx():
 import cx_Oracle

 connection = cx_Oracle.Connection("system/Admin1234@127.0.0.1/orcl")
 cursor = connection.cursor()

我应该说,我已经从java代码中运行了许多python脚本,并且运行得很好。我不知道这里出了什么问题,也不知道为什么不能用这种方法导入
cx\U Oracle

从其他cx\U Oracle问题的评论来看,似乎存在一些依赖关系,既依赖于您的Oracle客户端,也依赖于与您的体系结构相匹配的DLL。但是这个脚本运行并连接到oracle吗?您是否运行32位java和64位python,或者反之亦然?感谢Jan的回复。是的,无论是在python IDLE上还是在intellij python IDLE上,当我独立运行oracle时,这个脚本都会运行并连接到oracle。但是当我从java代码调用它时,我得到了错误。它们都是64位的。我的JDK是64位的,我使用python 3.4.4 64位作为python SDK。我从sourceforge获得了cx_Oracle并将其安装在python上。当我从java运行python脚本时,intellij读取cx_Oracle.pyd文件并将其分解为许多文件(方法)。但是它没有创建名为_BASEVARTYPE的文件(方法),我想这可能就是问题所在。但我也不知道这种情况下的解决办法@简
    def testcx():
 import cx_Oracle

 connection = cx_Oracle.Connection("system/Admin1234@127.0.0.1/orcl")
 cursor = connection.cursor()