【问题标题】:'Collection type for payload data type MSG_TYPE does not exist.''有效载荷数据类型 MSG_TYPE 的集合类型不存在。'
【发布时间】:2019-05-02 07:23:51
【问题描述】:

我正在通过以下代码成功地将 Oracle 高级队列出队:

OracleQueue oracleDequeueQueue = new OracleQueue("QUEUENAME", oracleConnection);
OracleQueueMessage msg = oracleDequeueQueue.Dequeue();

if (msg != null && msg.ObjectPayload != null)
{
    Convert.ToString(msg.ObjectPayload["ID"])
}

当我尝试通过下一个代码 sn-p 收集队列数组时,我收到错误消息

System.Exception: '有效载荷数据类型的集合类型 SCH.MDM_MESSAGE_TYPE 不存在。'

OracleQueue oracleDequeueQueue = new OracleQueue("QUEUENAME", oracleConnection);
OracleQueueMessage[] msgArr = oracleDequeueQueue.DequeueArray(10);

foreach (OracleQueueMessage m in msgArr)
{
    if (m != null && m.ObjectPayload != null)
    {
        Convert.ToString(m.ObjectPayload["ID"]));
    }
}

我也尝试添加以下内容,但这也不起作用:

oracleDequeueQueue.PayloadTypeName = "SCH.MDM_MESSAGE_TYPE"; oracleDequeueQueue.PayloadArrayTypeName = "SCH.MDM_MESSAGE_TYPE_ARRAY";

我的代码有什么问题?

这是 Oracle 中的队列代码:

create or replace type mdm_message_type as object ( id number(12 ) );

create or replace TYPE mdm_message_type_array as table of    mdm_message_type;

exec DBMS_AQADM.CREATE_QUEUE_TABLE(     Queue_table        => '"SCH"."MDM_CUSTOMER_T"',     Queue_payload_type => 'SCH.MDM_MESSAGE_TYPE');
exec DBMS_AQADM.CREATE_QUEUE(     Queue_name          => 'SCH.MDM_CUSTOMER',     Queue_table         => 'SCH.MDM_CUSTOMER_T',     Queue_type          =>  0,     Max_retries         =>  10000,     Retry_delay         =>  0,     dependency_tracking =>  FALSE);
exec dbms_aqadm.start_queue( 'SCH.MDM_CUSTOMER',true,true);

【问题讨论】:

    标签: c# oracle message-queue devart


    【解决方案1】:

    使用DequeueArray方法时,Oracle中必须有如下数组类型:

    CREATE TYPE MESSAGE_ARRAY IS VARRAY (100) OF MESSAGE_TYPE_NAME
    

    请注意,在 Oracle 中创建的 MESSAGE_TYPE_NAME 数组的长度应等于或大于 .NET 代码中 DequeueArray 方法中参数的值。

    【讨论】:

      猜你喜欢
      • 2023-03-08
      • 2012-04-12
      • 2017-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多