什么是创建更新Oracle数据库的业务流程的最有效方法?

时间:2012-09-05 18:24:39

标签: biztalk

我正在Biztalk中创建我的第一个编排,并且无法想出一种更新数据库的有效方法(特别是最多3个不同的表)。

用户使用入站消息调用我们的服务,该消息匹配包含emplid(唯一ID)的模式,然后是一堆名称 - 值对(请参见此图中的源模式)。 “name”对应于表中的列(例如,如果名称是“employeename”,则它对应于EMPLOYEE表的NAME列)。 course的值是用户希望该列更新到的新值。

因此,他们可以传递更新消息,该消息仅适用于1个表,2个表或全部3个,具体取决于他们要为传入的员工更新的字段。

我目前正在接近它作为3个单独的更新,有3个表适配器(每个表一个,其中一个如上图所示)但我无法处理所有3个表传递updateValuePairs的不同情况,只有一个或只有两个表(其他查询仍然尝试运行并失败)。我接近这个吗?或者有更好的方法来完成我想要做的事情吗?

1 个答案:

答案 0 :(得分:1)

我会以不同的方式尝试以实现更清洁的解决方案,

创建一个存储过程,用于处理要运行的表的逻辑

比仅需要映射和一个LOB适配器而不是现在的3

over view solution

1.业务流程中的接收输入

2.将输入映射到存储过程生成的模式

3.将映射数据发送到DB / LOB适配器到DB

这是一个可以帮助您的链接(假设您使用biztalk 2010):

How to use Oracle Stored Procedure