09.12.2012 Views

Advanced Queuing - Oracle

Advanced Queuing - Oracle

Advanced Queuing - Oracle

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Enqueuing and Dequeuing Of Messages<br />

msgid RAW(16);<br />

BEGIN<br />

/* Return the payload into the host variable ’message’: */<br />

dbms_aq.dequeue(queue_name => ’msg_queue’,<br />

message_properties => message_properties,<br />

dequeue_options => dequeue_options,<br />

payload => :message,<br />

msgid => msgid);<br />

END;<br />

END-EXEC;<br />

/* Commit work :*/<br />

EXEC SQL COMMIT;<br />

/* Extract the components of message: */<br />

EXEC SQL OBJECT GET SUBJECT,TEXT FROM :message INTO :subject,:txt;<br />

printf("Dequeued Message \n");<br />

printf("Subject :%s\n",subject);<br />

printf("Text :%s\n",txt);<br />

}<br />

Enqueuing and Dequeuing of Object Type Messages Using OCI<br />

#include <br />

#include <br />

#include <br />

#include <br />

struct message<br />

{<br />

OCIString *subject;<br />

OCIString *data;<br />

};<br />

typedef struct message message;<br />

struct null_message<br />

{<br />

OCIInd null_adt;<br />

OCIInd null_subject;<br />

OCIInd null_data;<br />

};<br />

typedef struct null_message null_message;<br />

int main()<br />

A-14 <strong>Oracle</strong>9i Application Developer’s Guide - <strong>Advanced</strong> <strong>Queuing</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!