RobotFramework读取mysql和oracle数据库
一、robotframework连接mysql数据库
1、安装databaselibrary、pymysql
通过cmd命令执行:pip install robotframework-databaselibrary

cmd命令执行:pip install pymysql

2、导入DatabaseLibrary包到Robotframework

3、使用关键字对数据库进行操作
连接数据库:Connect to database using custom params
这个关键字需要传入2个参数,pymysql、及数据库连接信息(host='数据库ip',port='数据库端口',user='数据库登陆用户名',passwd='密码',db='数据库名(不是表名)')

执行查询语句:Query

执行增删改语句:Execute Sql String

断开数据库连接:Disconnect From Database

注意:sql语句结尾尽量不要用分号,每次连接数据库后都使用断开数据库连接结束
二、robotframework连接Oracle数据库连接
1、安装DatabaseLibrary(见连接mysql数据库操作)
2、安装cx_Oracle,DatabaseLibrary,进入cx_oracle下载页面,下载python对应的版本号:http://sourceforge.net/projects/cx-oracle/files/
下载完后直接安装,安装完成后,在你的 \Python27\Lib\site-packages目录下,可以看到Database Library文件夹和cx_Oracle.pyd文件;

3、将本地连接oracle数据库的oci文件复制到site-packages目录

4、使用关键字进行oracle数据库操作
连接数据库:Connect To Database Using Custom Params;需要传入2个参数;cx_Oracle和数据库连接信息-- '账号','密码','ip:端口/ORCL

查询和修改关键字跟mysql操作相同;
常见问题:
1、数据库查询内容包含[(u')返回值',)] 见下图,[(u'YIN',)]

解决办法:通过截取方式去除:{serID[0][0]}

执行结果:

2、数据库执行sql带中文报错:UnicodeEncodeError:'ascii' codec can't encode characters in position 59-65....

解决办法:新建一个文件sitecustomize.py放到C:\Python27\Lib\site-packages(以你实际的python安装目录为准):
# -*- coding: utf-8 -*-
import sys
import os
import cx_Oracle
reload(sys)
sys.setdefaultencoding('utf-8')
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
保存后重启robotframework,sql能正常执行;

3、数据库sql语句查询返回乱码:

解决办法:在C:\Python27\Lib\site-packages\DatabaseLibrary\query.py文件中添加如下代码:
def decode(self,code):
return code.decode('utf-8')

保存后先用python工具编译一下,然后重启robotframework;然后使用decode进行转译;

运行得到中文:

RobotFramework读取mysql和oracle数据库的更多相关文章
- 使用hibernate配置多数据源链接MySQL和Oracle数据库
最近做项目要将读取到的数据同时插入到MySQL数据库和Oracle数据库当中,以前都是使用一个数据库,没有用过多数据源的情况,现在把这个问题搞定了,写下来希望对大家有点帮助,可能我所使用的方法不是最好 ...
- JDBC读取新插入Oracle数据库Sequence值的5种方法
Oracle的sequence实现非常灵活,所以也带来一些易用性问题,如何取到新插入记录生成的sequence值与其它数据库有较大差别,本文详国介绍了5种实现读取新插入记录sequence值的方法. ...
- Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
Jsp 环境目前最流行的是 Tomcat5.0.Tomcat5.0 自己包含一个 Web 服务器,如果是测试,就没必要把 Tomcat 与 IIS 或 Apache 集成起来.在 Tomcat 自带的 ...
- MySql和Oracle数据库区别
Oracle与mysql区别: 1.Oracle有表空间,mysql没有表空间. 2.mysql的char类型取值范围0-255字节,varchar为0-65535字节 3.oracle的char类型 ...
- JDBC连接各种数据库的方法,连接MySql,Oracle数据库
JDBC连接各种数据库的方法: JDBC编程步骤: 1.导入jar包 2.注册驱动 3.获取数据库连接对象 4.定义SQL语句 5.获得执行SQL语句对象statemnet 6.执行SQL语句 7.处 ...
- 使用Oracle SQL Developer迁移MySQL至Oracle数据库
Oracle SQL Developer是Oracle官方出品的数据库管理工具.本文使用Oracle SQL Developer执行从MySQL迁移至Oracle数据库的操作. 2017年3月6日 操 ...
- Hibernate 连接MySQL/SQLServer/Oracle数据库的hibernate.cfg.xml文件
用Hibernate配置连接数据库可以方便我们对POJO的操作,节省了很多时间和代码.下面就分别说明连接不同数据库需要在hibernate.cfg.xml做的配置. 需要数据库驱动包可以点击这里下载: ...
- C#通过读取Mysql脚本创建数据库
#region script helper private bool ExecuteScriptFile(string pathToScriptFile, out string errorMsg) { ...
- 读取大csv文件数据插入到MySql或者Oracle数据库通用处理
import java.io.BufferedInputStream; import java.io.BufferedReader;import java.io.BufferedWriter;impo ...
随机推荐
- Qt嵌入式开发环境搭建
一.Qt版本介绍 按照不同的图形界面来划分,分为四个版本: 1.Win32版:适用于windows平台 2.X11版:适用于各种X系统的Linux和Unix平台 3.Mac版:适用于苹果的MacOS ...
- java中什么是代码点,什么是代码单元?
1.代码点&代码单元,是从Unicode标准而来的术语,Unicode标准的核心是一个编码字符集,它为每一个字符分配一个唯一数字.Unicode标准始终使用16进制数字,并且在书写时在前面加上 ...
- can通信实验
源码讲解 1.硬件连接 需要两个开发板 2.初始化函数讲解 针对F103的 3.发送函数讲解 4.接收函数讲解 5.main函数讲解
- 前端(HTML/CSS/JS)-JavaScript编码规范
1. 变量命名 (1)变量名不应以短巧为荣 左边的变量名都不太清楚,代码的扩展性不好,一旦代码需要加功能的话,就容易出现obj1.obj2.obj3这种很抽象的命名方式.所以一开始就要把变量的名字起得 ...
- python基本概念——标识符
标识符是用来标识某样东西的名字.在命名标识符的时候,你要遵循这些规则: 标识符的第一个字符必须是字母表中的字母(大写或小写)或者一个下划线(‘ _ ’). 标识符名称的其他部分可以由字母(大写或小写) ...
- WebGoat系列实验Access Control Flaws
WebGoat系列实验Access Control Flaws Using an Access Control Matrix 在基于角色的访问控制策略中,每个角色都代表了一个访问权限的集合.一个用户可 ...
- SQL SERVER 提供了一些时间函数:
SQL SERVER 提供了一些时间函数:取当前时间:select getdate()取前一个月的时间:SELECT DATEADD(MONTH,-1,GETDATE()) 月份减一个月取年份:SEL ...
- windows下部署icescrum
软件151 卢炜杰 一.安装JDK 1.下载JDK 地址:http://www.oracle.com/technetwork/java/javaee/downloads/index.html 选择相 ...
- Android Android环境安装
Android环境安装 一.下载: 所需:eclipse.sdk.jdk.adt 参考 工具下载地址:http://www.androiddevtools.cn/ 二安装: 1.eclipse: 选择 ...
- UWP_开源小程序 水印添加器
前几天写了一个确定水印位置的小博客.决定要写一个添加水印的UWP程序. 目前程序技术方面已经差不多了.所以提上日程