从VB.Net应用程序读取Tibco消息

从VB.Net应用程序读取Tibco消息,vb.net,tibco,tibco-ems,Vb.net,Tibco,Tibco Ems,我对Tibco的世界是新的。。。我被要求创建一个VB.net应用程序来完成两件事: 更新数据库中一列的值,然后在TIBCO EMS中生成一条消息 然后,我的应用程序需要从TIBCO读取此消息,并确定消息中是否包含特定单词,然后将结果显示为通过或失败 我已经写了任务的第一部分,但是,我不知道如何继续第二部分。我希望得到一些关于如何进行的帮助/指导!有什么建议吗 谢谢, NewTibcoUser根据您拥有的Tibco工具,可以轻松完成此操作。如果您有BW和ADB活动数据库适配器,那么您可以使用它 备

我对Tibco的世界是新的。。。我被要求创建一个VB.net应用程序来完成两件事:

更新数据库中一列的值,然后在TIBCO EMS中生成一条消息

然后,我的应用程序需要从TIBCO读取此消息,并确定消息中是否包含特定单词,然后将结果显示为通过或失败

我已经写了任务的第一部分,但是,我不知道如何继续第二部分。我希望得到一些关于如何进行的帮助/指导!有什么建议吗

谢谢,
NewTibcoUser

根据您拥有的Tibco工具,可以轻松完成此操作。如果您有BW和ADB活动数据库适配器,那么您可以使用它

备选案文1:

如果你没有亚洲开发银行,你可以模仿它,做如下的事情。亚洲开发银行并不神奇,它很难向前发展

1创建正在监视的表的镜像,以便只需将更改添加到要监视的列和键中即可 钥匙 你想用监视器吗 交货状态Adb\U L\U交货状态 交易类型adb_操作码 它发生的时间 交货状态ADB\U L\U交货状态 2在表上创建一个触发器,将记录插入表中

3编写一个.Net进程,每5秒或10秒或任何可配置的时间监视一次表,从tableX中选择*其中DeliveryStatus='N'order by transactionTime

4将邮件放入EMS队列或向您的.Net应用程序拨打服务电话

选择2

1在表上创建触发器,并将事件写入SQL Server代理服务队列 2编写一个.Net应用程序,从该SSBS队列读取数据并将其转换为EMS消息

一些设计注意事项

尽量不要连续查询主表上的更改,以防止阻塞 如果您的应用程序未运行且数据库发生更改,请确保您有一条消息过期。因此,当你的应用程序启动时,它不必处理队列中1000条消息,这取决于你是否需要该消息 如果确实需要这些消息,您可能希望将队列设置为持久到磁盘,这样就不会丢失消息。另外,在你的.Net应用程序中客户端确认将是一个好主意,而不仅仅是自动确认


这可以很容易地完成,具体取决于您拥有的Tibco工具。如果您有BW和ADB活动数据库适配器,那么您可以使用它

备选案文1:

如果你没有亚洲开发银行,你可以模仿它,做如下的事情。亚洲开发银行并不神奇,它很难向前发展

1创建正在监视的表的镜像,以便只需将更改添加到要监视的列和键中即可 钥匙 你想用监视器吗 交货状态Adb\U L\U交货状态 交易类型adb_操作码 它发生的时间 交货状态ADB\U L\U交货状态 2在表上创建一个触发器,将记录插入表中

3编写一个.Net进程,每5秒或10秒或任何可配置的时间监视一次表,从tableX中选择*其中DeliveryStatus='N'order by transactionTime

4将邮件放入EMS队列或向您的.Net应用程序拨打服务电话

选择2

1在表上创建触发器,并将事件写入SQL Server代理服务队列 2编写一个.Net应用程序,从该SSBS队列读取数据并将其转换为EMS消息

一些设计注意事项

尽量不要连续查询主表上的更改,以防止阻塞 如果您的应用程序未运行且数据库发生更改,请确保您有一条消息过期。因此,当你的应用程序启动时,它不必处理队列中1000条消息,这取决于你是否需要该消息 如果确实需要这些消息,您可能希望将队列设置为持久到磁盘,这样就不会丢失消息。另外,在你的.Net应用程序中客户端确认将是一个好主意,而不仅仅是自动确认


正如您所提到的,第一点可能已经通过ADB或对DB插入作出反应的自定义程序完成了

因此,您的问题严格来说是对来自VB.Net部件的EMS消息内容的反应

我认为有两种可能性: 1-如果您有EMS、ADB和BW,请将自定义适配器订户设置为BW配置,以某种方式更改DB,以响应总线上的消息。然后,您的VB应用程序可以简单地查询DB以获取响应状态


2-如果您没有太多来自TIBCO堆栈的产品,那么您应该制作一个简单的C EMS客户端程序,请参阅EMS文档中提供的示例。然后,该客户端可以向VB应用程序发送某种.Net内部信号,也许我自己不是专家,或者用DB编写响应状态。

正如您所提到的,第一点可能已经完成了 使用ADB或自定义程序响应DB插入

因此,您的问题严格来说是对来自VB.Net部件的EMS消息内容的反应

我认为有两种可能性: 1-如果您有EMS、ADB和BW,请将自定义适配器订户设置为BW配置,以某种方式更改DB,以响应总线上的消息。然后,您的VB应用程序可以简单地查询DB以获取响应状态

2-如果您没有太多来自TIBCO堆栈的产品,那么您应该制作一个简单的C EMS客户端程序,请参阅EMS文档中提供的示例。这个客户端可以向VB应用程序发送某种.Net内部信号,可能我自己不是专家,或者用DB写响应状态