使用 cx_oracle 从 Oracle 10 队列中取出消息

时间:2021-02-19 11:26:59

标签: python oracle10g cx-oracle oracle-xe

我设置了一个名为“ORGS_QUEUE”的队列,当将记录插入到表中时,使用触发器将消息排入队列。触发器工作正常,当我可以使用 sql 成功使消息出列时。

现在我正在尝试使用 cx_Oracle 来执行此操作,并且正在使用以下代码:

<form id="myform">
    name<input type="textbox" name="fname"> email
    <input type="textbox" name="email"> number
    <input type="textbox" name="number"> Gender
    <input type="radio" checked id="male" name="gender" value="Male">
    <label for="male">Male</label>
    <input type="radio" id="female" name="gender" value="Female">
    <label for="female">Female</label>
    <button type="button" onclick="myfunction()"> Click me</button>
</form>
<p id="demo"></p>

在运行此代码时,我得到错误回溯:

def dequeue_data():
    TYPE_NAME = "MESSAGE_TYPE"
    QUEUE_NAME = "ORGS_QUEUE"
    connection = cx_Oracle.connect("TEST", '123', "localhost/xe")
    queue_type = connection.gettype(TYPE_NAME)
    queue = connection.queue(QUEUE_NAME, queue_type)
    queue.deqOptions.wait = cx_Oracle.DEQ_NO_WAIT
    queue.deqOptions.visibility = cx_Oracle.DEQ_IMMEDIATE
    msg = queue.deqOne()
    connection.commit()
    xref, data = msg.payload.XREF, msg.payload.REC_DATA
    print xref, data

我在这里做错了什么?

0 个答案:

没有答案