码迷,mamicode.com
首页 > 数据库 > 详细

【自动化测试】RF链接数据库12c遇到的问题总结

时间:2019-05-24 12:47:16      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:inf   是你   packages   lib   版本   load   一个   表数   ges   

  本次因为项目所给的数据库信息中,其中包含一条是数据库的版本是12c,因为12c的版本要比11g、12g还要高,所以导致我们之前一些数据库插件无法使用,只能上网查找。我在翻阅数据库的资料时,因为百度上的信息比较零散,所以找起来很麻烦,甚至到oracle官网上,面对客户端的插件,都不知道下载那个好,当然你可以全部下载下来。

  1.需要下载的客户端插件到底是哪一个?instantclient-basic-nt-12,记住12c的版本号是12_2。还有插件是有分32bit和64bit

  2.为什么我下载了客户端插件也放入了目录里面,运行起来,还是报 %1 不是有效的win32应用程序?第一可能你下载的插件和你的机子bit不符合;第二就是oc-oracle和插件不符合;第三就是你下载的插件不是该数据的版本。我已经将所有内容打包上传,通过访问链接就可以下载需要的内容。

  3.为什么插件放在site-packages目录下还是rf编译还是失败?目前放在site-packages已经没用了,建议将插件的目录添加在PATH即可,也不需要建立ORACLE_PATH。技术图片

  4.我编译数据库终于成功,但是查询中因为有中文,导致查询失败?建议在site-packages新增一个sitecustomize.py文件,在文件里面输入代码即可。

# -*- coding: utf-8 -*-
import sys
import os
import cx_Oracle
reload(sys)
sys.setdefaultencoding(utf-8)
os.environ[NLS_LANG] = SIMPLIFIED CHINESE_CHINA.UTF8

  5.我运行数据库查询之后,查询的内容还是显示乱码?建议在site-packages中对databaselibrary文件中的query.py添加代码。然后再在我们编写的脚本里面新增一行,然后在输出即可。

def decode(self,code):
        return code.decode(‘utf-8‘) 
def __execute_sql(self, cur, sqlStatement):
        return cur.execute(sqlStatement)

  注意:通过研究,后面的数据意义是代表数据库行列关系

${n}	decode	${a[1][2]}

  另外附上问题上所需要用到的脚本/插件链接: https://pan.baidu.com/s/1stVghxlKVERSN5FP4cfcOw 提取码: vx3h  

【自动化测试】RF链接数据库12c遇到的问题总结

标签:inf   是你   packages   lib   版本   load   一个   表数   ges   

原文地址:https://www.cnblogs.com/mumushizhige/p/10917360.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!