使用 BizTalk Server 接收 Oracle 数据库更改通知

可以将 Oracle 数据库适配器配置为从 Oracle 数据库接收数据库更改通知消息。 可以指定适配器用于向 Oracle 数据库注册通知的 SELECT 语句。 注册通知的 SELECT 语句的结果集发生更改时,适配器会收到通知消息。 有关适配器如何支持通知的详细信息,请参阅 使用 Oracle 数据库适配器接收数据库更改通知的注意事项

下面是可以使用 BizTalk Server 配置 Oracle 数据库适配器以接收来自 Oracle 数据库的通知的一些方案:

  • 适配器客户端仅收到“增量”通知,例如,仅针对自上次通知以来对数据库表所做的更改。

  • 如果将大量行插入数据库表中,适配器客户端可以配置多个接收位置,以对接收通知进行负载均衡。

    适配器客户端收到通知消息后,可以根据收到的通知类型执行特定任务。 例如,BizTalk 业务流程的设计方式可以是在收到插入通知时执行一组任务,如果收到更新通知,则执行另一组任务。

注意

如果 Oracle 数据库与适配器客户端之间发生网络中断,则不会将通知发送到适配器客户端,说明在网络中断期间和之后对 Oracle 数据库所做的更改。 因此,对于关键方案,必须使用轮询操作而不是通知操作。

本节中的主题提供有关如何为每个方案配置适配器的信息。 若要开始使用 Oracle 数据库适配器从 Oracle 数据库获取通知,必须指定某些绑定属性。 有关与通知相关的绑定属性的详细信息,请参阅 使用绑定属性。 有关通知消息结构的详细信息,请参阅 通知操作的消息架构

若要从 Oracle 数据库接收通知,请确保:

  • 使用适配器连接到 Oracle 数据库版本 10.2 或更高版本。 10.2 之前的 Oracle 数据库版本不支持通知。

  • 用于连接到 Oracle 以获取通知的凭据具有 change notification 权限。 接收数据库更改通知需要此权限。 为此,请使用管理权限连接到 Oracle 数据库,然后在 SQL 提示符上键入以下命令。

    grant change notification to <user name>
    
  • 确定希望 ODP.NET 用于从 Oracle 数据库接收数据库更改通知的 TCP 端口。 将该端口添加到 Windows 防火墙例外列表。 有关如何将端口添加到 Windows 防火墙例外列表的说明,请参阅 https://go.microsoft.com/fwlink/?LinkID=196959。 必须为 NotificationPort 绑定属性提供相同的端口号。 有关绑定属性的详细信息,请参阅 使用绑定属性

本节内容

另请参阅

使用 Oracle 数据库开发 BizTalk 应用程序的构建基块