【问题标题】:I'm trying send pl/sql command in to oracleAQ我正在尝试将 pl/sql 命令发送到 oracleAQ
【发布时间】:2021-01-12 17:56:28
【问题描述】:

我正在尝试向 oracle 发送 pl/sql 命令,但我不知道该怎么做。没有选择或插入仅适用于 oracle AQ。那么,也许有人有这种情况的经验?有任何想法吗。我把脚本放在下面。(但是“来自流文件的一些文本”我必须从流文件中输入信息)

    /* Enqueue to msg_queue: */
    DECLARE
       enqueue_options     dbms_aq.enqueue_options_t;
       message_properties  dbms_aq.message_properties_t;
       message_handle      RAW(16);
       message             aq.message_typ;
    
    BEGIN
       message := message_typ('NORMAL MESSAGE',
       'SOME TEXT FROM FLOW FILE');
    
       dbms_aq.enqueue(queue_name => 'msg_queue',           
             enqueue_options      => enqueue_options,       
             message_properties   => message_properties,     
             payload              => message,               
             msgid                => message_handle);
    
       COMMIT;
END;

【问题讨论】:

  • 你在说什么命令?
  • 声明 enqueue_options dbms_aq.enqueue_options_t; message_properties dbms_aq.message_properties_t; message_handle RAW(16);消息 aq.message_typ; BEGIN message := message_typ('NORMAL MESSAGE', '首先排队到 msg_queue。'); dbms_aq.enqueue(queue_name => 'msg_queue', enqueue_options => enqueue_options, message_properties => message_properties, payload => message, msgid => message_handle);提交;
  • 请编辑问题并将所有信息放在那里。在 cmets 中它是不可读的。

标签: apache-nifi oracle-aq


【解决方案1】:

所以我找到了解决方案。 因此,首先我提取 xml 文件以进行 pl/sql 查询。然后我添加 2 个处理器(ReplaceText)并在查询的开头和结尾添加部分查询。例如: 我以avro格式提取xml:

[ {
 "atribute" : "xml:
} ]

接下来我会查看流文件和原始格式。所以它看起来像: [在此处输入图片说明][1]

然后我制作正则表达式来更改原始格式的流文件(这很重要),所以它看起来像:

^Obj([\s\S]+?)<\?xml\sversion=\"1\.0\"\sencoding=\"UTF-16\"\?>

所以它是以 avro 格式添加所有标准信息。然后我在我的 pl/sql 查询的一部分上替换了这些信息,并用文件结尾做了一次。所以在最后一个替换文本的输出中我有 pl/sql. [在此处输入图片描述][2]

我在 oracleAQ 中输入了这个 pl/sql。 [1]:https://i.stack.imgur.com/haz6W.png [2]:https://i.stack.imgur.com/WutqR.png

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-07
    • 2018-01-17
    • 2023-01-05
    • 1970-01-01
    • 1970-01-01
    • 2022-12-04
    相关资源
    最近更新 更多