Большинство решений требует клиент установлен или cx_Oracle модуль с помощью которого не appropriable, а также - потому что я должен использовать Jython версию Robot FrameworkКак подключить базу данных Oracle из Robot Framework без установленного клиента
ответ
Я бы исследовал много постов просто иметь очень простое решение:
DatabaseLibrary Установка модуля по
pip install robotframework-databaselibrary
Установить JayDeBeApi модуль по
pip install JayDeBeApi
- теперь вы можете поместить эти библиотеки где угодно - просто скопировать их из Python \ Lib \ сайта-пакеты
И здесь происходит трюк ! 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
Надеюсь, это поможет кому-то! Удачи!
Если вы используете рамки робота с Java, то есть отдельная библиотека доступна на официальном сайте робота: http://robotframework.org/#libraries с именем Database Library (Java)
Скачать эту библиотеку и поместить его в папка Lib
Скачать драйверы, необходимые для оракула и поместить его в папку 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}
Я установил библиотеки DatabaseLibrary и jaydebeapi, но в коде не распознает JaydeBeApi и Бесполезный Я работал.
Вот как я решил свою проблему.
Мне пришлось установить Microsoft Visual C++ 9.0 из http://aka.ms/vcpython27 после этого я следовал за этим шаги
- открыть окно командной строки (Пуск -> CMD)
- мерзавец клон https://github.com/oracle/python-cx_oracle.git cx_Oracle
- кд cx_Oracle
- мерзавец обновление подмодуль инициализации
- мерзавец подмодуль
- pip install cx_Oracle
- pip install robotframework-databaselibrary
- пункт установить JayDeBeApi (вероятно, он будет работать на какой-то один)
*** Settings *** Documentation Basic database related keywords Library DatabaseLibrary *** Variables *** ${DB_CONNECT_STRING} = 'user/[email protected](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