ESB集成了数据库SQL Server,通过简单的配置,书写SQL语句,即可实现获得SQL Server数据,输出数据等操作。
连接到SQL Server数据库
与SQL Server集成,首先要连接到数据库。
在【服务连接】模块,添加【SQL Server】连接,填写连接信息,测试通过后,保存连接。如图:
# SQLServer Command
SQLServer Command,用于不需要返回,只执行SQL语句的情况,比如执行删除,更新等。
集成场景
使用ESB业务输出,配置Command执行SQL语句删除表→在流程上调用执行配置的Command,并返回影响的行数。
# 配置使用Command
以执行删除表数据为例,演示Command的使用。
在【ESB输出流】模块,点击【添加】,进入ESB业务输出配置界面,拖出【SQLServer Command】节点进行配置,如图:
在【常规】配置界面,选择连接后,书写删除表数据的SQL语句,如图:
在【调用】界面,若在SQL语句中定义了参数,需要在这里设置传参,这里保持默认即可,如图:
在【返回】界面,把影响的行数返回,如图:
到这里,使用SQLServer Command执行删除表数据就配置完成,点击保存为:SQLServer Command-删除数据。
# 在流程上调用配置的Command
在流程建模模块,拖出任务,切换为【调用ESB】节点,在【常规】配置界面,选择调用对象为在ESB业务输出模块配置的SQL Server Command-删除数据,如图:
配置传参
在业务输出模块没有配置传参,这里也无需配置,保持默认即可。
数据返回
把删除数据后返回的影响行数显示到表单上,如图:
到这里,在流程上的调用配置就完成了,保存发布流程:数据库集成。
调用
在流程门户,直接提交表单发起流程:
提交后,调用ESB配置的SQL Server Command-删除数据,返回12,代表删除了表12行数据,如图:
# SQLServer Insert
SQLServer Insert,需要返回插入行的ID时,使用Insert,插入表需要有自增列。
集成场景
使用ESB输出流,配置Insert执行SQL语句插入一条数据到数据库表→在流程上使用ESB调用执行配置的Insert,并返回插入行的ID。
# 配置使用Insert
以执行插入一条数据到数据库表为例,演示Insert的使用。
在【ESB输出流】模块,点击【添加】,进入ESB业务输出配置界面,拖出【SQLServer Insert】节点进行配置,如图:
在【常规】配置界面,选择连接后,书写插入数据的SQL语句,如图:
在【调用】界面,在SQL语句中定义了参数,需要在这里设置传参,如图:
在Listenner参数下,右键“Payload”【添加主表引用】,如图:
以拖拽的方式,把左侧添加的主表字段依次映射到右侧对应的参数,如图:
在【返回】界面,把插入行对应的ID返回,如图:
到这里,使用SQLServer Insert执行插入一条数据到数据库表就配置完成,点击保存为:SQLServer Insert。
# 在流程上调用配置的Insert
在流程建模模块,拖出任务,切换为【调用ESB】节点,在【常规】配置界面,选择调用对象为在ESB业务输出模块配置的SQL Server Insert,如图:
配置传参
把流程数据传给ESB,只需拖拽字段一一映射即可(也可按住Ctrl键拖拽表名映射),如图:
数据返回
在ESB业务输出模块,我们配置返回插入行的ID,这里我们把返回的ID显示在表单上对应的字段,如图:
到这里,在流程上的调用配置就完成了,保存发布流程:数据库集成。
调用
在流程门户,直接提交表单发起流程:
提交后,调用ESB配置的SQL Server Insert,返回15,代表插入数据成功,且插入行的ID是15,如图:
# SQLServer Select
SQLServer Select主要用于获取数据,支持分页和动态排序。
集成场景
使用ESB数据源,从SQL Server数据库中获取数据→在表单上使用获取的数据。
# 配置从SQL Servert获取数据
配置从SQL Serve获取数据
在【ESB数据源】模块,点击【添加】,进入ESB数据源配置界面,拖出【SQLServer Select】节点进行配置,如图:
在【常规】配置界面,选择连接后,使用SQL查询语句获取物品信息,如图:
在【调用】界面,默认列出了分页用到的参数和在SQL语句中定义的查询参数Name,如图:
在左侧点击复制参数,快速同步本关卡的输入参数到ESB数据源参数,如图:
这里我们要把搜索条件在开窗查询里显示在前台,所以这里也可以直接编辑把参数改的友好一些,如图:
配置分页、排序和查询参数,如图:
在【返回】界面,默认列出SQL语句中查询的列字段,如图:
点击复制架构,复制左侧查询参数,也可以手动编辑,如图:
将左侧查询返回参数一一映射到右侧,如图:
到这里,使用SQLServer Select获取数据就配置完成,点击保存为:SQL Server-Select物品列表。
点击测试,成功获取物品数据,如图:
# 在表单上使用获取的数据
在表单设计器上配置ESB数据源
在表单上使用ESB数据源
# SQLServer Cache
Cache用于将结果集缓存到表,比如:用于定期更新第三方系统数据到指定表。
集成场景
使用ESB输出流,配置Cache缓存数据→在流程上调用执行配置的Cache,缓存数据到指定表。
# 配置使用Cache
以缓存查询出的数据到指定表为例,演示Cache的使用。
在【ESB输出流】模块,点击【添加】,进入ESB业务输出配置界面,依次拖出【SQLServer Select】、【SQLServer Cache】节点进行配置,如图:
在【常规】配置界面,选择连接后,首先配置Select节点使用SQL查询语句获取数据,如图:
【调用】界面,无需配置。在【返回】界面,将返回的数据存放在Variables中,并在Variables中手动创建对应的对象和字段,如图:
配置Cache节点,选择连接和要缓存到表的表名,如图:
在【调用】界面,把存放在变量Variables中的数据依次映射到要缓存的表,如图:
在【返回】界面,如果需要可以把影响的行数返回,如图:
到这里,使用SQLServer Cache缓存数据到表就配置完成了,点击保存为:SQLServer Cache。
# 在流程上调用配置的Cache
在流程建模模块,拖出任务,切换为【调用ESB】节点,在【常规】配置界面,选择调用对象为在ESB业务输出模块配置的SQL Server-Cache,如图:
配置传参
这里无需配置,保持默认即可。
数据返回
把缓存数据影响行数返回并显示到表单上,如图:
到这里,在流程上的调用配置就完成了,保存发布流程:数据库集成。
调用
在流程门户,直接提交表单发起流程:
提交后,调用ESB配置的SQL Server-Cache,返回9,代表缓存了9行数据到表,如图:
可以在流程上配合定时开始事件,定期发起流程,调用ESB,用以定期更新第三方数据。
# SQLServer 存储过程
存储过程提供了一个执行存储过程的一个窗口。
集成场景
使用ESB数据源,使用存储过程从SQL Server数据库中获取数据→在表单上使用获取的数据。
# 配置使用存储过程获取数据
配置使用存储过程从SQL Serve获取数据
在【ESB数据源】模块,点击【添加】,进入ESB数据源配置界面,拖出【SQLServer 存储过程】节点进行配置,如图:
在【常规】配置界面,选择连接和存储过程,如图:
在【调用】界面,默认会列出分页用到的参数和在存储过程语句中定义的参数,这里我们这个例子只是简单的获取数据,没有实现分页和查询,所以删除左侧查询参数,其余保持默认即可。如图:
在【返回】界面,点击复制架构,复制左侧查询参数,并将左侧查询返回参数一一映射到右侧,如图:
到这里,使用SQLServer 存储过程获取数据就配置完成,点击保存为:SQLServer-存储过程。
点击测试,成功获取数据,如图:
# 在表单设计器上配置ESB数据源
在表单设计器上配置ESB数据源
在表单上使用ESB数据源