使用BizTalk 2010从OracleDB检索数据

时间:2013-08-19 10:57:41

标签: oracle biztalk biztalk-2010 biztalk-orchestrations

我是BizTalk的新手,有以下问题:

我正从FTP服务器使用BizTalk检索文本文件。文本文件具有位置结构,长度约为300个字符。我使用平面文件向导创建了XML模式,以解析工作正常的数据。

这是我的问题:作为一项要求,我需要提取位置2-6,这是一个唯一的ID。提取值后,我需要连接到Oracle DB并搜索将返回用户名的ID。

你知道我怎么做吗?

1 个答案:

答案 0 :(得分:1)

实现此目标的最佳方法取决于您在查询Oracle Db后要对用户名/消息有效负载执行的操作。答案还假设您有一个正确工作的平面文件架构,其中唯一ID从平面文件中提取到架构/结果消息中的自己的元素中,让我们调用此字段“UniqueId”。我还假设每个平面文件只有一条消息(如果情况不是这样的话,那就更复杂了。)

在平面文件架构中,将UniqueId元素标记为可分辨字段。这将使业务流程中的值更容易访问。创建接收端口和位置,并将平面文件反汇编程序配置为使用平面文件架构。

接下来,创建一个使用接收端口发送邮件的业务流程。在业务流程中,为OracleDb创建新的SELECT消息。对于WHERE子句,使用来自传入消息的distinguished字段中的值 - 您可以在此处使用点分表示法,例如FlatFileMsg.UniqueId。最后一步需要在OracleDb Select消息的Construct Message形状内的Message Assignment形状内完成。

如果您不想使用区分的字段路径,则可以简单地映射到业务流程中的Oracle SELECT消息。这两种路径都是可以接受的,但我尽量不为简单的消息调用映射器。

通过请求/响应端口向您的Oracle Db发送Oracle Db SELECT消息, 应该返回用户ID。使用UserId执行您需要执行的任何操作。