有谁知道如何使用Robot Framework连接远程oracle数据库?

时间:2015-12-04 08:50:30

标签: oracle robotframework

我尝试使用cx_Oracle,但我无法安装它,我有此消息错误:“无法找到Oracle软件安装”, 是的,我的PC上没有Oracle服务器,我只有sqlDeveloper来测试我的查询。 但是我想在这个远程数据库上使用robot Framework进行一些查询,这可能吗?

4 个答案:

答案 0 :(得分:1)

我使用DatabaseLibrary成功使用cx_Oracle访问Oracle数据库。在Windows平台上,您

  1. 安装the thin client
  2. 到系统路径,将路径添加到即时客户端文件夹
  3. 安装cx_Oracle
  4. 为我们的设置连接数据库如下所示: {"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_HOMEPATH变量以及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个解决方案:

  1. 使用odbc驱动程序和pyodbc

  2. 使用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位版本为我解决了这个问题:

  • 即时客户端程序包 - 基本
  • Instant Client Package - SDK

我不知道是什么原因,但64位版本的Oracle客户端对我来说并不起作用。