NAME
ExtProc - Perl interface to the Oracle Perl External Procedure Library
SYNOPSIS
use ExtProc;
DESCRIPTION
The ExtProc module provides several functions that return useful data from an Oracle database connection. It is only useful from the Oracle Perl External Procedure Library (extproc_perl).
FUNCTIONS
- database_name or DATABASE_NAME (exportable)
-
Returns the name of the database the client is connected to.
- user or USER (exportable)
-
Returns the username used to connect to Oracle.
- sessionid or SESSIONID (exportable)
-
Returns the session ID of the current connection
- exception(message)
-
Throws a user-defined Oracle exception. Note that the Perl subroutine will probably complete after this function is called, but no return values should be accepted by the calling client.
- context
-
Returns an OCIExtProcContext object for use with DBI->connect. When connecting to the database that called the external procedure, use the database name 'extproc', and supply no username or password. Pass the context returned by this function to the DBI->connect method by defining 'ora_context' in the attributes parameter. Use the standard DBI method of connecting when using another database. An example follows:
use DBI; use ExtProc; # get the current OCI context my $context = ExtProc::context; # connect back to the calling database my $dbh = DBI->connect("dbi:Oracle:extproc", "", "", { 'ora_context' => $context });
NOTE: External procedures are stateless, so there is no concept of a persistent connection to the database. Therefore, you must run the DBI->connect method before each query. This may be automated in the future.
AUTHOR
Jeff Horwitz <jeff@smashing.org>
SEE ALSO
perl(1), perlembed(1), DBI(3), DBD::Oracle(3)