大多数解决方案需要安装一些客户端或使用cx_Oracle模块也不适用 - 因为我必须使用机器人框架的Jython版本
答案 0 :(得分:1)
我研究过很多帖子只是为了得到一个非常简单的解决方案:
按
安装DatabaseLibrary模块pip install robotframework-databaselibrary
按
安装JayDeBeApi模块pip install JayDeBeApi
这就是诀窍! DatabaseLibrary用法包含以下jaydebeapi连接示例:
Connect To Database Using Custom Params | JayDeBeApi | 'oracle.jdbc.driver.OracleDriver', 'my_db_test', 'system', 's3cr3t'
然而,这是错误!您必须在username-pass对上使用括号!像这样:
Connect To Database Using Custom Params | JayDeBeApi | 'oracle.jdbc.driver.OracleDriver', 'my_db_test', ['system', 's3cr3t']
请不要忘记使用URL连接而不是my_db_test!它应该是这样的:
jdbc:oracle:thin:@//127.0.0.1:1521/my_db_test
希望它会帮助某人!祝你好运!
答案 1 :(得分:0)
如果您使用机器人框架和Java,那么机器人官方网站上就有单独的库:http://robotframework.org/#libraries 名称数据库库(Java)
下载此库并将其放入lib文件夹
下载oracle所需的驱动程序并将其放入lib文件夹
在文件中定义以下变量
${ORACLE DATABASE URL} jdbc:oracle:thin:@${DATABASE_IP}:1521:${ORACLE_SYSTEM_ID}
${ORACLE DATABASE USER} ${DATABASE_NAME}
${ORACLE DATABASE PASSWORD} PASSWORD
${ORACLE DATABASE DRIVER} oracle.jdbc.driver.OracleDriver
使用以下关键字连接数据库
Connect To Database ${ORACLE DATABASE DRIVER} ${ORACLE DATABASE URL} ${ORACLE DATABASE USER} ${ORACLE DATABASE PASSWORD}
答案 2 :(得分:0)
我安装了Library DatabaseLibrary和jaydebeapi,但在代码中它不识别JaydeBeApi并且没有用。
这就是我解决问题的方法。
我必须在http://aka.ms/vcpython27之后安装Microsoft Visual C ++ 9.0,之后我按照这个步骤进行操作
*** 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)))' *** Test Cases *** Connecting connect @{queryResults} Query select * from table t where id_table =1001 log to console @{queryResults} *** Keywords *** Connect connect to database using custom params cx_Oracle ${DB_CONNECT_STRING} Disconnect disconnect from database