“在执行python操作符中从python脚本连接到Oracle DB”
大家好,
我试图从Rapidminer的python脚本连接到我的本地Oracle DB。当我执行进程时,它抛出“数据库错误”。
我已经从我的终端执行了相同的python文件,它可以工作,但它在Rapidminer中不起作用。
这是xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<过程version = " 8.1.000 " >
> <上下文
<输入/ >
<输出/ >
<宏/ >
> < /上下文
<过程扩展= " true " >
< /操作符>
> < /过程
< /操作符>
> < /过程
错误如下:
运行进程后出现错误
我不知道为什么会发生这个错误。如果有人已经成功地连接到任何数据库从python脚本在执行python你可以分享你的想法。请帮忙:smileyhappy:
0
最佳答案
-
lplenka 成员职位:11因素二世
好吧,我尝试了很多来修复Oracle配置,但似乎程序无法从Rapidminer内部找到“LD_LIBRARY_PATH”,我也尝试使用设置环境
操作系统。environ['LD_LIBRARY_PATH'] = '/path/to/$ORACLE_HOME/lib'
但没有成功。所以我尝试了其他方法,我使用了jype和Jaydebeapi,结果成功了。
代码如下:
进口熊猫
进口操作系统
进口jpype
进口jaydebeapi
操作系统。环境[' JAVA_HOME '] = / usr / lib / jvm / java-8-openjdk-amd64的
Classpath = "path/to/ojdbc6.jar"
def rm_main ():
-Djava.class jpype.startJVM (jpype.getDefaultJVMPath()。”路径=%s" % classpath)
试一试:
con = jaydebeapi.connect('oracle.jdbc.driver. oracledriver ','jdbc:oracle:thin ')@localhost: 1521: dbname”,(“用户”,“密码”))
打印(“连接成功”)
例外情况如下:
打印(e)
返回欢呼,
Lalu Prasad Lenka
1
答案
我认为此错误与无法加载cx_Oracle库有关。您的python安装(或正确的python环境)是否在RapidMiner首选项中路径?
@Thomas_Ott谢谢你的回复。我确信蟒蛇的路径是正确的。
此外,我确信错误是在连接线,因为只有导入工作没有错误。
@lplenka你有没有试过在Python应用程序上执行这个Python代码,比如Spyder, IPython Jupyter等?
确保您使用的Python环境与您尝试与RapidMiner连接的环境相同
这有助于理解错误是由于在RapidMiner中运行还是代码本身有错误。
让我们在这里知道结果。
欢呼,
是的@Pavithra_Rao正如我在第一篇文章(第二段)中已经提到的,我已经从终端执行了相同的脚本,并且它可以工作。
我也在Jupyter Notebook中执行了相同的操作,这里是一个截图。
@lplenka请检查以下文档,我想这与Oracle配置和Python通过RapidMiner进行通信有关。
https://oracle.github.io/odpi/doc/installation.html#windows