Oracle9i Supplied PL/SQL Packages and Types Reference Release 1 (9.0.1) Part Number A89852-02 |
|
DBMS_PIPE , 3 of 11
This procedure builds your message in the local message buffer.
To send a message, first make one or more calls to PACK_MESSAGE
. Then, call SEND_MESSAGE
to send the message in the local buffer on the named pipe.
The PACK_MESSAGE
procedure is overloaded to accept items of type VARCHAR2
, NUMBER
, or DATE
. In addition to the data bytes, each item in the buffer requires one byte to indicate its type, and two bytes to store its length. One additional byte is needed to terminate the message.The overhead for all types other than VARCHAR
is 4 bytes.
In Oracle8, the char-set-id (2 bytes) and the char-set-form (1 byte) are stored with each data item. Therefore, the overhead when using Oracle8 is 7 bytes.
When you call SEND_MESSAGE
to send this message, you must indicate the name of the pipe on which you want to send the message. If this pipe already exists, then you must have sufficient privileges to access this pipe. If the pipe does not already exist, then it is created automatically.
DBMS_PIPE.PACK_MESSAGE (item IN VARCHAR2); DBMS_PIPE.PACK_MESSAGE (item IN NCHAR); DBMS_PIPE.PACK_MESSAGE (item IN NUMBER); DBMS_PIPE.PACK_MESSAGE (item IN DATE); DBMS_PIPE.PACK_MESSAGE_RAW (item IN RAW); DBMS_PIPE.PACK_MESSAGE_ROWID (item IN ROWID);
pragma restrict_references(pack_message,WNDS,RNDS); pragma restrict_references(pack_message_raw,WNDS,RNDS); pragma restrict_references(pack_message_rowid,WNDS,RNDS);
Parameter | Description |
---|---|
item |
Item to pack into the local message buffer. |
ORA-06558
is raised if the message buffer overflows (currently 4096 bytes). Each item in the buffer takes one byte for the type, two bytes for the length, plus the actual data. There is also one byte needed to terminate the message.
|
Copyright © 1996-2001, Oracle Corporation. All Rights Reserved. |
|