用明道云构建并扩展依赖库,定时读取外部数据

文/张春泉

项目需要复杂数据操作但手头数据库技术没有时间开发,又不想专门采购RPA产生额外费用,如何进行数据对接呢今天这套方案就能为你解忧明道云链接企业自有的数据库,读取数据写入明道云下面进入手把手教学模式,逐一拆解步骤

第一步:安装明道私有部署

安装步骤参考https://docs.pd.mingdao.com/deployment/docker-compose/standalone/quickstart.html

第二步:依赖库持久化并扩展依赖库

持久化依赖库

参考此处扩展代码块依赖库:https://docs.pd.mingdao.com/faq/codeextension.html

安装对应的扩展库

链接MySQL请安装 pymysql 扩展库:

docker exec -t $(docker ps | grep community | awk '{print $1}') bash -c 'pip3 install --target=/usr/local/lib/python3.6/site-packages/ pymysql'

链接SQL Service请安装 pymssql 扩展库:

docker exec -t $(docker ps | grep community | awk '{print $1}') bash -c 'pip3 install --target=/usr/local/lib/python3.6/site-packages/ pymssql'

Oracle linux连接配置参考: https://www.likecs.com/show-495081.html

验证安装完成后,是否可在宿主机 /data/mingdao/script/volume/command/package/python-3.6/site-packages/ 中进行查看。

第三步:应用设计

基础信息级同步任务表
  1. 创建《数据库配置》工作表,并设置自定义动作获取工作表信息

  1. 配置《数据库表》和自定义动作,系统自动获取字段创建任务

  1. 创建《字段表

 

设计业务流及自动化流程

数据库连接的逻辑流程是统一的,只是中间执行不同的脚本所以,我们要将统一的流程抽出来成PBP业务流,提高重复流程的复用率。

MySQL连接脚本如下

import pymysql
import json
output = {}
output['result'] = ''
# 打开数据库连接
try:
    db = pymysql.connect(host=input['host'], user=input['username'], password=input['passwd'], port=int(input['port']))

    # 使用 cursor() 方法创建一个游标对象 cursor
    db.select_db(input['db'])
    cursor = db.cursor()
    # 使用 execute()  方法执行 SQL 查询 
    output['sql'] = input['sqltext']
    cursor.execute(input['sqltext'])
    cols=cursor.description
    # 使用 fetchone() 方法获取单条数据.
    datas = cursor.fetchall()
    allop=[]
    for data in datas:
        i = 0
        op= {}
        for col in cols:
           op[cols[cols.index(col)][i]] =str(data[cols.index(col)])
        i=i+1
        allop.append(op)

    output['data'] = json.dumps(allop, ensure_ascii=False)
    #print(output)
    # 关闭数据库连接
    db.close()
    output['code'] = 0
    output['msg'] = '连接成功'
except Exception as e:
    output['code'] = 1
    output['msg'] = '连接失败:{}'.format(e)

获取库下面所有的表

select table_name tableName ,ifnull(TABLE_COMMENT,'') as tabledesc,create_time createTime from information_schema.tables where table_schema ='数据库库名' order by create_time desc

获取表的描述信息

select column_name as '列名',data_type as '字段类型',column_comment as '字段注释' ,column_key as '是否主键',is_nullable as '是否允许为空',column_default as '默认值' from information_schema.columns  where table_schema='数据库库名' and table_name='表名'

获取字段创建自动任务」的自定义按钮工作流流程图

对接其他系统或者项目对接的时候日志是不可缺少的,因为它能帮助你快速定位错误。所以最后在应用里也记得加上哦。

最后业务部门测试数据也已经写入工作表了整体对接已完成,小伙伴们快快尝试吧

 

关于明道云

明道云是一个创新的超级应用平台,可以帮助用户零代码构建企业应用,用户不需要代码开发就能够搭建出用户体验上佳的销售、运营、人事、采购等核心业务应用,打通企业内部数据。明道云还具备超自动化引擎,可以全面自动化复杂和重复的业务流程。运用明道云的集成中心与完整的API对接能力,用户可以轻松地将明道云与外部系统集成。除此之外,明道云超级应用平台还具备很高的可组合性,国际化支持,并支持云原生架构,实现了多云部署能力。通过插件架构,明道云正在逐步建立起繁荣的实施与开发生态。

明道云可以帮助企业大大节省软件费用、降低定制开发的成本和时间,拥有一个极度灵活和易用的数字化平台,是企业数字化建设的重要工具。目前已有上百万用户使用,付费企业超过4000家,包括可口可乐、复星集团、中国移动、中国联通、中国电信、中铁集团、北京地铁、佛山铁路、华夏银行、民生银行、迪卡侬、艾默生电气、泰科电子、四川航空、东方证券、万豪酒店、洲际酒店等知名客户。

2021年5月,明道云获得海纳亚洲近亿元投资。公司目前有超过130名员工,产品研发团队过半,总部位于上海漕河泾开发区,在北京、广州、深圳、成都、郑州、武汉、西安和宁波设有分支机构。公司为高新技术企业,上海市专新特精认定企业。