【发布时间】:2014-11-03 21:29:22
【问题描述】:
我想在 Oracle 上触发一条包含多行的消息,让适配器插入,或者如果键字段值已经存在,则更新。有谁知道是否有可能在不编写 oracle 存储过程/包或类似内容的情况下实现这一目标。要插入的这条消息将包含大约 50k 行,它插入的表将包含大约 500k。我意识到我可以先提取现有数据,然后在业务流程中手动检查是否需要更新或插入,但我有一种感觉,我以前读过,可以让 WCF 适配器负责确定是否更新或插入是需要吗?
【问题讨论】:
我想在 Oracle 上触发一条包含多行的消息,让适配器插入,或者如果键字段值已经存在,则更新。有谁知道是否有可能在不编写 oracle 存储过程/包或类似内容的情况下实现这一目标。要插入的这条消息将包含大约 50k 行,它插入的表将包含大约 500k。我意识到我可以先提取现有数据,然后在业务流程中手动检查是否需要更新或插入,但我有一种感觉,我以前读过,可以让 WCF 适配器负责确定是否更新或插入是需要吗?
【问题讨论】:
oracle 适配器可以接受插入或删除。我的问题的解决方案是从 BizTalk 向适配器发出一个请求,其中包含一个删除 + 插入的任何要更新的行。适配器有一个名为“UseAmbientTransactions”的属性,通过确保将其设置为 true,可以防止在没有后续更新的情况下删除记录。
如果您觉得这对您有帮助,请随时为该问题投票 - 目前设置为 -2!
【讨论】: