我正在尝试使用 Python 连接到 Oracle 高级队列。
我想做的基本原理是这样的:已经设置了一个队列,每小时发送一次消息,我想将此消息放入队列并用我编写的一些代码对其进行分析。
我有凭据(主机、端口、sid、用户和密码),但我不确定如何设置连接并开始使用。
据我从网上之前的问题了解到,cx_oracle 模块应该具有执行此操作的功能,但我不知道如何在实践中执行此操作。
如果您有任何教程链接来展示如何完成此操作,或者您自己有一些示例代码,我们将不胜感激。我对 RabbitMQ 队列有一些经验,但 Oracle AQ 的示例和教程似乎很少,因此我在这里提出问题。
最佳答案
cx_Oracle 高级队列文档为 here 。
一个例子是这样的:
# setup connection
connection = cx_Oracle.Connection('connection string')
# get the options
options = connection.deqoptions()
# set relevant options:
options.navigation = cx_Oracle.DEQ_FIRST_MSG
options.wait = cx_Oracle.DEQ_WAIT_FOREVER
# continuously deque
while connection.deq(NAME_OF_QUEUE, options, messageProperties, payload):
print(payload)
Anthony Tuininga(cx_Oracle 作者)在 Github 上有一个更完整的示例.
关于python - 使用 Python 连接到 Oracle AQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37022441/