用于执行Python语言脚本检查数据,通过Python脚本来判断数据的正确性,并返回检查结果。
Python检查规则依赖应用服务器下的Python,需要保证其服务下有安装python环境,且安装了JayDeBeApi、pyflakes第三方库包。
脚本代码:需要执行的Python脚本代码。 在弹出的对话框内输入Python脚本。Python
编写Python脚本时支持调用内置方法实现数据获取。内置方法如下:
方法 | 描述 |
getValueByField(values, fieldName) | 获取当前行的某一个字段对应的值。values:Tuple(元组),Cursor对象获取到的结果;fieldName:String(字符串),字段名称。 |
addResult(values,checkResult) | 添加一个检查结果。values:Tuple(元组),Cursor对象获取到的结果;checkResult:Numbers(数字),检查结果,1代表正确,0代表错误。 |
内置变量名
变量名 | 描述 |
curs | Cursor对象,主要用来遍历检查表的数据。 |
jdbc | 引用的连接数据库的jaydebeapi模块。 |
场景演示:
选择需要使用Python脚本检查的主题表XXB_DAY_GUID (人员信息),要求:入职时间不为空的时候(注意此时转正时间为空是符合实际的),入职时间<=转正时间。脚本参考如下:
def checkData(data) :
value2 = getValueByField(data, "ZZSJ")
value3 = getValueByField(data, "HIREDATE")
if value3 is None:
addResult(data,0)
elif value2 is None :
addResult(data,1)
elif value3 <= value2:
addResult(data,1)
else :
addResult(data,0)
while (True) :
d = curs.fetchone()
if d is None :
break
checkData(d)
1. Python环境准备
检查服务器中是否有可用的python环境且JayDeBeApi、pyflakes库均已安装。
可通过在控制台中输入python,查看默认安装的python环境。
Centos7.2默认自带安装的Python版本是2.7.5,建议升级至Python3之后再安装JayDeBeApi=1.2.2、JPypel=0.7.5(from JayDeBeApi) 、pyflakes=3.2.0库。
1.1. Python2升级到python3
a.安装wget库 yum -y install wget
b.下载Python3
c.解压 tar zxf Python-3.8.3
d.更新、安装依赖工具 cd Python-3.8.3/ cd yum update -y cd yum groupinstall -y ‘Development Tools’ yum install -y gcc openssl-devel bzip2-devel libffi-devel
e.指定目录编译 ./configure prefix=/usr/local/python3 && make && make install
f.修改配置文件 将第一行的#!/usr/bin/python改为#!/usr/bin/python2(不然会与python3不兼容导致命令不可用) /usr/bin/yum(如果有多个yum文件,都要进去修改) /usr/libexec/urlgrabber-ext-down
g.创建软连接 ln -sf /usr/local/python3/bin/python3.8 /usr/bin/python ln -sf /usr/local/python3/bin/pip3.8 /usr/bin/pip3 python -V python 3.8.3 |
1.2. 安装第三方库包
pip3 install JayDeBeApi=1.2.2
pip3 install pyflakes
请先登录