在使用BizTalkServer进行企业集成时,经常需要与Oracle数据库进行交互。为了实现这一目标,BizTalk提供了Oracle适配器,它允许BizTalk应用程序发送和接收来自Oracle数据库的消息。但是,正确地生成和配置元数据是确保消息正确路由的关键步骤。本文将详细介绍如何生成BizTalk Oracle Adapter的元数据,并解决一些常见的问题。
在BizTalkManagement Console中,首先需要创建一个静态请求响应发送端口。这可以通过在默认的BizTalk项目(BizTalk Application 1)中进行操作。为每个Oracle服务创建一个端口,这个端口将仅用于生成元数据。
要检索Oracle适配器的元数据,请按照以下步骤操作:
将得到以下对话框:
// 选择Oracle数据库适配器
// 选择在BizTalk Application 1项目中创建的端口
// 选择表或Native SQL类型
选择后,将得到一个Orchestration文件,其中包含以下操作的Port Types:
同时,所有操作的请求和响应都将创建多部分消息。所有多部分消息参数的消息部分将使用生成的模式类型。
在生成元数据时,可能会遇到一些问题。首先,每次生成编排文件时,编排类型都是Orchestration_1,这在同一个项目中不应该发生,但文件名是Orchestration_(Index+1)。其次,所有生成的多部分消息都将具有相同的名称,如Query、QueryResponse等。因此,如果为两个表添加元数据,会遇到消息部分类型冲突的问题,因为它们将具有相同的名称和相同的命名空间。
在创建适配器的元数据之前,将模式项目的默认命名空间更改为MyEnterprise.Oracle.Schemas.[Tablename]。这样,创建的多部分消息类型将具有不同的命名空间,当然,创建的Oracle端口将指向相同的消息类型,因此不会有冲突。然后,更改多部分消息的名称,为其添加表名作为前缀,以便引用项目可以识别消息名称。