0

Fe 在一个数据库中我有有效载荷类型(varchar2,数字)。在传播时,我添加了转换,指定此有效负载需要转换为 sys.xmlType,因为我在数据库之间有不同的 nls_length_semantics,我不能简单地传播这些对象类型。到目前为止一切顺利,我已经尝试过了,它传播成功。我想要实现的是,在远程数据库中排队时,sys.xmlType 有效负载将转换为类型(varchar2,数字)。可能吗?

所以总而言之,它看起来像这样:

  1. 将消息排入本地队列;

  2. 传播开始;

  3. Payload从对象类型转换为sys.xmlType;

  4. 消息正在排队到远程数据库;

  5. Payload 从 sys.xmlType 转换为 objectType;

  6. 消息已入队。

4

1 回答 1

0

Oracle 文档说:

可以在入队期间指定转换,以在将消息插入队列之前将消息转换为正确的类型。可以在出列期间指定它以接收所需格式的消息。如果使用远程订阅者指定,则消息将在将其传播到目标队列之前进行转换。

因此,似乎在远程数据库中实现转换的唯一方法是在远程数据库中创建临时 aq 表,在该远程 aq 中启动传播,并在传播时指定转换。

于 2016-12-07T14:58:24.117 回答