日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

RobotFramework读取mysql和oracle数据库

發(fā)布時(shí)間:2024/9/5 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 RobotFramework读取mysql和oracle数据库 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、robotframework連接mysql數(shù)據(jù)庫(kù)

1、安裝databaselibrary、pymysql

通過(guò)cmd命令執(zhí)行:pip install?robotframework-databaselibrary

cmd命令執(zhí)行:pip install pymysql

2、導(dǎo)入DatabaseLibrary包到Robotframework

3、使用關(guān)鍵字對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作

連接數(shù)據(jù)庫(kù):Connect to database using custom params

這個(gè)關(guān)鍵字需要傳入2個(gè)參數(shù),pymysql、及數(shù)據(jù)庫(kù)連接信息(host='數(shù)據(jù)庫(kù)ip',port='數(shù)據(jù)庫(kù)端口',user='數(shù)據(jù)庫(kù)登陸用戶(hù)名',passwd='密碼',db='數(shù)據(jù)庫(kù)名(不是表名)')

執(zhí)行查詢(xún)語(yǔ)句:Query

執(zhí)行增刪改語(yǔ)句:Execute Sql String

斷開(kāi)數(shù)據(jù)庫(kù)連接:Disconnect From Database

注意:sql語(yǔ)句結(jié)尾盡量不要用分號(hào),每次連接數(shù)據(jù)庫(kù)后都使用斷開(kāi)數(shù)據(jù)庫(kù)連接結(jié)束

?

二、robotframework連接Oracle數(shù)據(jù)庫(kù)連接

1、安裝DatabaseLibrary(見(jiàn)連接mysql數(shù)據(jù)庫(kù)操作)

2、安裝cx_Oracle,DatabaseLibrary,進(jìn)入cx_oracle下載頁(yè)面,下載python對(duì)應(yīng)的版本號(hào):http://sourceforge.net/projects/cx-oracle/files/

下載完后直接安裝,安裝完成后,在你的 \Python27\Lib\site-packages目錄下,可以看到Database Library文件夾和cx_Oracle.pyd文件;

?

3、將本地連接oracle數(shù)據(jù)庫(kù)的oci文件復(fù)制到site-packages目錄

4、使用關(guān)鍵字進(jìn)行oracle數(shù)據(jù)庫(kù)操作

?連接數(shù)據(jù)庫(kù):Connect To Database Using Custom Params;需要傳入2個(gè)參數(shù);cx_Oracle和數(shù)據(jù)庫(kù)連接信息-- ? ?'賬號(hào)','密碼','ip:端口/ORCL?

查詢(xún)和修改關(guān)鍵字跟mysql操作相同;

?

?

?

常見(jiàn)問(wèn)題:

1、數(shù)據(jù)庫(kù)查詢(xún)內(nèi)容包含[(u')返回值',)]? 見(jiàn)下圖,[(u'YIN',)]

解決辦法:通過(guò)截取方式去除:{serID[0][0]}

執(zhí)行結(jié)果:

?

2、數(shù)據(jù)庫(kù)執(zhí)行sql帶中文報(bào)錯(cuò):UnicodeEncodeError:'ascii' codec can't encode characters in position 59-65....

?

?

解決辦法:新建一個(gè)文件sitecustomize.py放到C:\Python27\Lib\site-packages(以你實(shí)際的python安裝目錄為準(zhǔn)):

# -*- 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能正常執(zhí)行;

3、數(shù)據(jù)庫(kù)sql語(yǔ)句查詢(xún)返回亂碼:

解決辦法:在C:\Python27\Lib\site-packages\DatabaseLibrary\query.py文件中添加如下代碼:

def decode(self,code):
? ? ? ??return code.decode('utf-8')

?

保存后先用python工具編譯一下,然后重啟robotframework;然后使用decode進(jìn)行轉(zhuǎn)譯;

?

運(yùn)行得到中文:

轉(zhuǎn)載于:https://www.cnblogs.com/zhangfeivip/p/10102971.html

總結(jié)

以上是生活随笔為你收集整理的RobotFramework读取mysql和oracle数据库的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。