如何使用Biztalk DB2适配器添加多行

问题描述:

我尝试使用Biztalk DB2适配器在AS400数据库中插入数据。如何使用Biztalk DB2适配器添加多行

我很容易处理一行插入。但是,在DB2适配器上使用的映射中,我的源模式具有可重复的节点。这意味着我需要一些时候一次插入多行。

遗憾的是,出于某种原因,我不能使用任何编排......因此,我想要做的是产生一个输出消息看起来像:

<?xml version="1.0" encoding="utf-8"?> 
<ns0:INSERT xmlns:ns0="http://myNamespace"> 
<sync> 
     <after> 
      <MyElement id="0" value1="toto" value2="tutu"> 
      </MyElement> 
      <MyElement id="1" value1="toto" value2="tutu"> 
      </MyElement> 
    </after> 
</sync> 
</ns0:INSERT> 

此消息不插入任何东西留下我和这个错误:

Table MyTable ?MyDataBase ? of *N incorrect for this operation. SQLSTATE: 55019, SQLCODE: -7008 

(遗憾的翻译错误是最初用法语写的...)

我走到一个地步,我问,如果是外核层y可以做我想要的这种方式...

你有什么想法吗?

+0

这通常正是你如何插入多行到DB2。假设你的表名是'MyElement'。你是如何生成模式的?特别是DB2适配器非常敏感和限制,因此请确保在发送端口中采用与生成架构时完全相同的设置。 –

感谢您的回答。我发现哪里出了问题。没有多行插入的链接。我显示它的方式正是你如何插入多行。

SQLSTATE: 55019, SQLCODE: -7008似乎来自已停用的数据库运行时日志。

现在解决了这个问题。

首先,没有合法的理由来阻止Orchestration。我们可以帮助您清除他们在这个问题上可能存在的任何误解。

但是,MyElement是一个不寻常的表名称。你确定这是正确的吗?

+0

避免编排的合法原因是您需要停止Biztalk应用程序以在您编排资源时进行资源部署。就我而言,我想避免这种部署。 – fcaillaud

+0

然后,对于** MyElement **,显然它不是我桌子的真实名称。我以此为例。 – fcaillaud

+0

@fcaillaud仅供参考,你所描述的理由是**完全不真实**。在部署时,您通常不得不重新启动主机实例,而不是应用程序,但没有任何关于编排的具体信息会导致此问题。 *任何*神器类型都可能需要重新启动。 –