腾讯通服务器的消息与勤哲Excel服务器的集成
方案思路:1.首先做一张数据表来存储消息队列,并利用RTX的SDK写一个程序来每隔一段时间从该表中取出消息队列发送出去;
2.然后为ES的ESSys数据库里面存储待办工作流信息的数据表写一个触发器,让它有新增数据的时候自动往1楼的表里面写入消息队列。
设计方案:
1.首先要解决RTX帐号和ES帐号的映射问题。很简单,在RTX和ES里面新建用户的时候,帐号不都是可以手工定义的嘛,就统一用员工工号呗~
如果两个系统都已经有帐号了,而且还是不统一的,那就改ES里面的帐号吧,把它向RTX统一。(推荐做法)
2.接下来做消息队列的数据表,为了配置权限简单,就单独建一个数据库<RTX>吧,然后在数据库中建一个数据表<MSG_Queue>,数据字典如下:
列名数据类型长度允许空默认值说明MsgIDbigint8 主键。自动编号。DelayTime
smallint2√0消息框在桌面停留时间(秒),默认为手动关闭。Receivervarchar20 接收者,用户名称或号码。MsgInfovarchar500 消息提醒内容。Titlevarchar10√ 消息提醒标题。(建议5个汉字的宽度以内)AssTypetinyint1√0保留。Typetinyint1√0消息提醒类别。0:普通消息,1:紧急消息。SendModetinyint1√0发送模式。0:普通模式,1:发送给所有人。
再创建一个独立的SQL帐号RTX,密码也是RTX,配置权限为可以读写数据表<MSG_Queue>,这个帐号用来在RTX接口程序中使用。
3. 开始写RTX接口程序。我用记事本写的VBS脚本,懒得配置软件开发环境,也不用编译,修改起来简单,充分体现开源精神
脚本需要在RTX服务器上运行,且SDK Server服务必须启动。(推荐做法)
如果在其它计算机上运行脚本,需要安装RTX的SDK,配置SDK安装目录下RTXServerAPI.ini中RTX服务器的IP地址,还要修改RTX SDK Server的IP限制(修改RTX服务器安装目录下 SDKProperty.XML)。
OK,改完了配置就把服务重启一下,然后往消息队列表随便写点什么内容,测试一下脚本运行是否正常
4.开始写触发器。打开查询分析器,登陆到ES数据库,选中ESSys数据库,然后执行以下SQL脚本。
由于我的RTX数据库和ESSys数据库不在同一台服务器上,因此SQL脚本中涉及到用触发器修改远程数据库的问题,需要对服务器的MDTC安全选项进行配置;如果在同一台数据库上那就不需要了,简单修改一下SQL脚本的相关代码就可以。
MDTC安全选项的配置如果不对,在ES中保存工作流表单时就会出现“新事务不能登录到指定的事务管理器中”的错误。我的配置方式如下图,安全性低,不推荐模仿,仅供参考。
源服务器(ESSys所在的服务器)
OK,基本上大功告成了,江湖惯例,上效果图
相关代码下载: 这可是个好东西一定得收藏 学习了,收藏一下,以后公司可以用 看后确实开了眼界,好东西 牛啊,肯定是好东西~~~~ 不错
这开发思路除了EXCEL服务器还能用到其它系统的提醒 确实是很实用的好东西。 谢谢,也去尝试一下。:) 这家伙会编程,厉害。我们还只会应用。