lizhihui 发表于 2009-2-17 21:14:26

腾讯通服务器的消息与勤哲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,基本上大功告成了,江湖惯例,上效果图


相关代码下载:

fengzi918 发表于 2009-2-28 21:41:18

这可是个好东西一定得收藏

bingyunxq 发表于 2009-3-16 15:33:14

学习了,收藏一下,以后公司可以用

techart 发表于 2009-3-18 18:39:49

看后确实开了眼界,好东西

welldone 发表于 2009-4-11 02:00:55

牛啊,肯定是好东西~~~~

sc001 发表于 2009-5-10 13:31:58

sakulasi 发表于 2009-5-18 14:01:23

不错
这开发思路除了EXCEL服务器还能用到其它系统的提醒

jhchengj 发表于 2009-6-6 08:38:26

确实是很实用的好东西。

game2000 发表于 2009-6-7 00:41:20

谢谢,也去尝试一下。:)

小老四 发表于 2009-11-21 14:06:31

这家伙会编程,厉害。我们还只会应用。
页: [1] 2 3
查看完整版本: 腾讯通服务器的消息与勤哲Excel服务器的集成