我尝试使用cx_Oracle,但我无法安装它,我有此消息错误:“无法找到Oracle软件安装”, 是的,我的PC上没有Oracle服务器,我只有sqlDeveloper来测试我的查询。 但是我想在这个远程数据库上使用robot Framework进行一些查询,这可能吗?
答案 0 :(得分:1)
我使用DatabaseLibrary成功使用cx_Oracle访问Oracle数据库。在Windows平台上,您
为我们的设置连接数据库如下所示:
{"customer":{"id":2,
"username":"jdsnell",
"policies":
[5,6]
}}
答案 1 :(得分:1)
安装miniconda python distribution,这样可以更轻松。 它配备了conda包管理器作为pip的替代品。安装cx_oracle包括即时客户端就这么简单:
conda install oracle-instantclient
conda install cx_oracle
它会自动下载匹配的DLL文件并将其放入condo根目录。这样您就不必使用ORACLE_HOME
,PATH
变量以及python和oracle DLL驱动程序的32位与64位不匹配。
在robotframework示例中使用它:
*** Settings ***
Documentation Basic database related keywords
Library DatabaseLibrary
*** Variables ***
${DB_CONNECT_STRING} = 'user/mypasswd@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=myipaddress)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=mysid)))'
*** Keywords ***
Connect
connect to database using custom params cx_Oracle ${DB_CONNECT_STRING}
Disconnect
disconnect from database
答案 2 :(得分:0)
是的,这是可能的。
2个解决方案:
使用odbc驱动程序和pyodbc
使用jtds驱动程序和jaydebeapi:
$ {jdbcDriver}设置变量'$ {jdbcDriversPath} /ojdbc6.jar' 使用自定义参数连接数据库jaydebeapi'oracle.jdbc.driver.OracleDriver',['jdbc:oracle:thin:@ // $ {DB_HOST}:$ {DB_PORT} / $ {DB_SSID}','$ {database}' , '$ {DB_PASSWORD}'],$ {jdbcDriver}
答案 3 :(得分:0)
安装以下32位版本为我解决了这个问题:
我不知道是什么原因,但64位版本的Oracle客户端对我来说并不起作用。