【问题标题】:How to cast AQMessage STRUCT object to UDT object如何将 AQMessage STRUCT 对象转换为 UDT 对象
【发布时间】:2015-12-28 19:24:50
【问题描述】:

试图从 Java 中的 oracle AQ 队列中读取带有 UDT 有效负载的消息。我使用 jpub 在数据库中为我的 Oraacle UDT/Object(名为 MESSAGE_TYP 的对象)创建 java 类。

jpub 输出:

public class message_typ implements ORAData, ORADataFactory ...

然后deuque消息并得到STRUCT:

oracle.jdbc.aq.AQMessage msg = conn.dequeue(queueName, deqopt, "MESSAGE_TYP");
STRUCT st = msg.getSTRUCTPayload();

那么我该如何获得具体的 message_typ 对象引用?

【问题讨论】:

    标签: java oracle oracle-aq


    【解决方案1】:

    想通了。调用 msg.getSTRUCTPayload() 后:

        message_typ typ;  // My UDT created with jpub
        ORADataFactory of = message_typ.getORADataFactory();
        ORAData od = of.create(st, 1);
        typ = (message_typ)od;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-23
      • 2011-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-27
      • 2018-02-13
      • 2011-05-26
      相关资源
      最近更新 更多