09.12.2012 Views

Advanced Queuing - Oracle

Advanced Queuing - Oracle

Advanced Queuing - Oracle

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Creating a Queue Table<br />

Visual Basic (OO4O): There is no applicable syntax reference for this use case<br />

Java (JDBC): <strong>Oracle</strong>9i Supplied Java Packages Reference oracle.AQ createQueueTable<br />

Examples<br />

See Chapter 3, "AQ Programmatic Environments" for a list of available functions in<br />

each programmatic environment.:<br />

PL/SQL (DBMS_AQADM Package): Creating a Queue Table on page 9-7<br />

VB (OO4O): Creating a Queue Table on page 9-9<br />

Java (JDBC): Creating a Queue Table on page 9-9<br />

PL/SQL (DBMS_AQADM Package): Creating a Queue Table<br />

Note: You may need to set up the following data structures for<br />

certain examples to work:<br />

CONNECT system/manager;<br />

DROP USER aqadm CASCADE;<br />

GRANT CONNECT, RESOURCE TO aqadm;<br />

CREATE USER aqadm IDENTIFIED BY aqadm;<br />

GRANT EXECUTE ON DBMS_AQADM TO aqadm;<br />

GRANT Aq_administrator_role TO aqadm;<br />

DROP USER aq CASCADE;<br />

CREATE USER aq IDENTIFIED BY aq;<br />

GRANT CONNECT, RESOURCE TO aq;<br />

GRANT EXECUTE ON dbms_aq TO aq;<br />

Creating a queue table for queues containing messages of object type<br />

CREATE type aq.Message_typ as object (<br />

Subject VARCHAR2(30),<br />

Text VARCHAR2(80));<br />

/* Note: if you do not stipulate a schema, you default to the user’s schema. */<br />

EXECUTE dbms_aqadm.create_queue_table (<br />

Queue_table => ’aq.ObjMsgs_qtab’,<br />

Queue_payload_type => ’aq.Message_typ’);<br />

Creating a queue table for queues containing messages of RAW type<br />

EXECUTE dbms_aqadm.create_queue_table (<br />

Queue_table => ’aq.RawMsgs_qtab’,<br />

Administrative Interface 9-7

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

Saved successfully!

Ooh no, something went wrong!