|
Oracle10g JDBC | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectoracle.jdbc.OracleConnectionWrapper
A simple implementation of a connection wrapper which may be nested to any depth.
Field Summary | |
static java.lang.String |
BUILD_DATE
|
static boolean |
PRIVATE_TRACE
|
static boolean |
TRACE
|
Fields inherited from interface java.sql.Connection |
TRANSACTION_NONE, TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE |
Constructor Summary | |
OracleConnectionWrapper()
|
|
OracleConnectionWrapper(OracleConnection toBeWrapped)
Construct an instance which wraps the arguement |
Method Summary | |
java.sql.Connection |
_getPC()
Return the underlying physical connection if this is a logical connection. |
void |
applyConnectionAttributes(java.util.Properties connAttr)
Applies the connection Attributes provided on the underlying PooledConnection. |
void |
archive(int mode,
int aseq,
java.lang.String acstext)
Not implemented. |
void |
clearWarnings()
|
void |
close()
|
void |
close(int opt)
If opt is OracleConnection.INVALID_CONNECTION : Closes the given Logical connection, as well the underlying PooledConnection without returning the connection to the cache when called with the parameter INVALID_CONNECTION. |
void |
close(java.util.Properties connAttr)
Closes the given Logical connection, and returns the underlying PooledConnection to the implicit connection cache. |
void |
commit()
|
java.sql.Statement |
createStatement()
|
java.sql.Statement |
createStatement(int resultSetType,
int resultSetConcurrency)
|
java.sql.Statement |
createStatement(int resultSetType,
int resultSetConcurrency,
int resultSetHoldability)
|
boolean |
getAutoClose()
The driver is always in auto-close mode. |
boolean |
getAutoCommit()
|
java.sql.CallableStatement |
getCallWithKey(java.lang.String key)
getCallWithKey Searches the explicit cache for a match on key. |
java.lang.String |
getCatalog()
|
java.util.Properties |
getConnectionAttributes()
Returns the connection Attributes set on the underlying PooledConnection. |
int |
getConnectionReleasePriority()
Returns the release priority set on the connection |
boolean |
getCreateStatementAsRefCursor()
Retrieves the current setting of the createStatementAsRefCursor flag which you can set with the
setCreateStatementAsRefCursor method. |
int |
getDefaultExecuteBatch()
Retrieves the overall connection batch value of this connection. |
int |
getDefaultRowPrefetch()
Retrieves the value of row prefetch for all statements associated with this connection and created after this value was set. |
java.lang.Object |
getDescriptor(java.lang.String sql_name)
Gets a Descriptor object corresponding to a sql type. |
short |
getEndToEndECIDSequenceNumber()
Gets the current end to end tracing context id sequence number. |
java.lang.String[] |
getEndToEndMetrics()
Gets the values of the end-to-end metrics, if any. |
boolean |
getExplicitCachingEnabled()
getExplicitCachingEnabled Returns true if the explicit cache is currently enabled, false otherwise. |
int |
getHoldability()
|
boolean |
getImplicitCachingEnabled()
getImplicitCachingEnabled Returns true if the implicit cache is currently enabled, false otherwise. |
boolean |
getIncludeSynonyms()
Checks whether or not synonyms information is included in DatabaseMetaData.getColumns . |
java.lang.Object |
getJavaObject(java.lang.String sql_name)
|
java.sql.DatabaseMetaData |
getMetaData()
|
java.util.Properties |
getProperties()
Determines the connection properties. |
boolean |
getRemarksReporting()
Checks whether or not a call of getTables or
getColumns of the DatabaseMetaData interface will
report the REMARKS column. |
boolean |
getRestrictGetTables()
Gets the restriction status of the returned data in DatabaseMetaData.getTables . |
java.lang.String |
getSessionTimeZone()
Obtain Oracle session time zone region name. |
java.lang.String |
getSQLType(java.lang.Object obj)
|
int |
getStatementCacheSize()
getStatementCacheSize Returns the current size of the application cache. |
java.sql.PreparedStatement |
getStatementWithKey(java.lang.String key)
getStatementWithKey Searches the explicit cache for a match on key. |
int |
getStmtCacheSize()
|
short |
getStructAttrCsId()
Obtain the Oracle identifier of the character set used in STRUCT attributes. |
int |
getTransactionIsolation()
|
java.util.Map |
getTypeMap()
|
java.util.Properties |
getUnMatchedConnectionAttributes()
Returns the unmatched connection Attributes from the underlying PooledConnection. |
java.lang.String |
getUserName()
Gets the user name of the current connection. |
boolean |
getUsingXAFlag()
Gets the value of the UsingXA flag which the driver sets to
true when using XA to manage distributed transactions. |
java.sql.SQLWarning |
getWarnings()
|
boolean |
getXAErrorFlag()
Gets the value of the XAError flag which is used with
distributed transactions. |
boolean |
isClosed()
|
boolean |
isLogicalConnection()
Method that returns a boolean indicating whether its a logical connection or not. |
boolean |
isProxySession()
Returns true if the current session associated with this connection is a proxy session. |
boolean |
isReadOnly()
|
java.lang.String |
nativeSQL(java.lang.String sql)
|
void |
openProxySession(int mode,
java.util.Properties prop)
Opens a new proxy session with the username provided in the prop argument and switch to this new session. This feature is a thin only feature. Three proxy types are supported : OracleConnection.PROXYTYPE_USER_NAME : In this type PROXY_USER_NAME needs to be provided in prop. |
void |
oracleReleaseSavepoint(OracleSavepoint savepoint)
Removes the given OracleSavepoint object from the current
transaction. |
void |
oracleRollback(OracleSavepoint savepoint)
Undoes all changes made after the given OracleSavepoint
object was set. |
OracleSavepoint |
oracleSetSavepoint()
Creates an unnamed savepoint in the current transaction and returns the new OracleSavepoint object that
represents it. |
OracleSavepoint |
oracleSetSavepoint(java.lang.String name)
Creates a savepoint with the given name in the current transaction and returns the new OracleSavepoint object that
represents it. |
int |
pingDatabase(int timeOut)
ping Database |
java.sql.CallableStatement |
prepareCall(java.lang.String sql)
|
java.sql.CallableStatement |
prepareCall(java.lang.String sql,
int resultSetType,
int resultSetConcurrency)
|
java.sql.CallableStatement |
prepareCall(java.lang.String sql,
int resultSetType,
int resultSetConcurrency,
int resultSetHoldability)
|
java.sql.CallableStatement |
prepareCallWithKey(java.lang.String key)
|
java.sql.PreparedStatement |
prepareStatement(java.lang.String sql)
|
java.sql.PreparedStatement |
prepareStatement(java.lang.String sql,
int autoGeneratedKeys)
|
java.sql.PreparedStatement |
prepareStatement(java.lang.String sql,
int[] columnIndexes)
|
java.sql.PreparedStatement |
prepareStatement(java.lang.String sql,
int resultSetType,
int resultSetConcurrency)
|
java.sql.PreparedStatement |
prepareStatement(java.lang.String sql,
int resultSetType,
int resultSetConcurrency,
int resultSetHoldability)
|
java.sql.PreparedStatement |
prepareStatement(java.lang.String sql,
java.lang.String[] columnNames)
|
java.sql.PreparedStatement |
prepareStatementWithKey(java.lang.String key)
|
void |
purgeExplicitCache()
purgeExplicitCache Removes all existing statements from the explicit cache, after which it will be empty. |
void |
purgeImplicitCache()
purgeImplicitCache Removes all existing statements from the implicit cache, after which it will be empty. |
void |
putDescriptor(java.lang.String sql_name,
java.lang.Object desc)
Store the Object Descriptor for later usage. |
void |
registerConnectionCacheCallback(OracleConnectionCacheCallback occc,
java.lang.Object userObj,
int cbkFlag)
Registers the connection cache callback on the logical connection This is used in conjunction with the Implicit Connection Cache Properties. |
void |
registerSQLType(java.lang.String sql_name,
java.lang.Class java_class)
|
void |
registerSQLType(java.lang.String sql_name,
java.lang.String java_class_name)
|
void |
registerTAFCallback(OracleOCIFailover cbk,
java.lang.Object obj)
Register an application TAF Callback instance that will be called when an application failover occurs. |
void |
releaseSavepoint(java.sql.Savepoint savepoint)
|
void |
rollback()
|
void |
rollback(java.sql.Savepoint savepoint)
|
void |
setAutoClose(boolean autoClose)
We are always in auto-close mode. |
void |
setAutoCommit(boolean autoCommit)
|
void |
setCatalog(java.lang.String catalog)
|
void |
setConnectionReleasePriority(int priority)
Sets connection release priority. |
void |
setCreateStatementAsRefCursor(boolean value)
When this is set to true , any new statements created from this
connection will be created as a REF CURSOR . |
void |
setDefaultExecuteBatch(int batch)
Sets a default batch value for the Oracle update batching model (the default value is 1). |
void |
setDefaultRowPrefetch(int value)
Sets the value of row prefetch for all statements associated with this connection and created after this value was set. |
void |
setEndToEndMetrics(java.lang.String[] metrics,
short sequenceNumber)
Sets the values of the end-to-end tracing metrics. |
void |
setExplicitCachingEnabled(boolean cache)
setExplicitCachingEnabled Enables or disables the explicit cache. |
void |
setHoldability(int holdability)
|
void |
setImplicitCachingEnabled(boolean cache)
setImplicitCachingEnabled Enables or disables the implicit cache. |
void |
setIncludeSynonyms(boolean synonyms)
Turns on or off retrieval of synonym information in DatabaseMetaData. |
void |
setPlsqlWarnings(java.lang.String setting)
Enable/Disable PLSQL Compiler Warnings |
void |
setReadOnly(boolean readOnly)
|
void |
setRemarksReporting(boolean reportRemarks)
Turns on or off the reporting of the REMARKS columns by the getTables and getColumns calls of the
DatabaseMetaData interface. |
void |
setRestrictGetTables(boolean restrict)
Turns on or off the restriction of the returned data in DatabaseMetaData.getTables.
|
java.sql.Savepoint |
setSavepoint()
|
java.sql.Savepoint |
setSavepoint(java.lang.String name)
|
void |
setSessionTimeZone(java.lang.String regionName)
Set the session time zone. |
void |
setStatementCacheSize(int size)
setStatementCacheSize Specifies the size of the size of the application cache (which will be used by both implicit and explicit caching). |
void |
setStmtCacheSize(int size)
|
void |
setStmtCacheSize(int size,
boolean clearMetaData)
|
void |
setTransactionIsolation(int level)
|
void |
setTypeMap(java.util.Map map)
|
void |
setUsingXAFlag(boolean value)
When using distributed transactions with XA, you can set the value of the UsingXA flag. |
void |
setWrapper(OracleConnection wrapper)
Set a connection wrapper as the wrapper of this connection. |
void |
setXAErrorFlag(boolean value)
Sets the value of the XAError flag which is used with
distributed transactions. |
void |
shutdown(int mode)
Not implemented. |
void |
startup(java.lang.String startup_str,
int mode)
Not implemented |
OracleConnection |
unwrap()
Unwrap one level. |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final boolean TRACE
public static final boolean PRIVATE_TRACE
public static final java.lang.String BUILD_DATE
Constructor Detail |
public OracleConnectionWrapper()
public OracleConnectionWrapper(OracleConnection toBeWrapped)
Method Detail |
public OracleConnection unwrap()
unwrap
in interface OracleConnection
public void setWrapper(OracleConnection wrapper)
setWrapper
in interface OracleConnection
wrapper
- An object which implements oracle.jdbc.OracleConnection and
which can act as a wrapper for this object
# @since 9iR2public java.sql.Statement createStatement() throws java.sql.SQLException
createStatement
in interface java.sql.Connection
java.sql.SQLException
public java.sql.PreparedStatement prepareStatement(java.lang.String sql) throws java.sql.SQLException
prepareStatement
in interface java.sql.Connection
java.sql.SQLException
public java.sql.CallableStatement prepareCall(java.lang.String sql) throws java.sql.SQLException
prepareCall
in interface java.sql.Connection
java.sql.SQLException
public java.lang.String nativeSQL(java.lang.String sql) throws java.sql.SQLException
nativeSQL
in interface java.sql.Connection
java.sql.SQLException
public void setAutoCommit(boolean autoCommit) throws java.sql.SQLException
setAutoCommit
in interface java.sql.Connection
java.sql.SQLException
public boolean getAutoCommit() throws java.sql.SQLException
getAutoCommit
in interface java.sql.Connection
java.sql.SQLException
public void commit() throws java.sql.SQLException
commit
in interface java.sql.Connection
java.sql.SQLException
public void rollback() throws java.sql.SQLException
rollback
in interface java.sql.Connection
java.sql.SQLException
public void close() throws java.sql.SQLException
close
in interface java.sql.Connection
java.sql.SQLException
public boolean isClosed() throws java.sql.SQLException
isClosed
in interface java.sql.Connection
java.sql.SQLException
public java.sql.DatabaseMetaData getMetaData() throws java.sql.SQLException
getMetaData
in interface java.sql.Connection
java.sql.SQLException
public void setReadOnly(boolean readOnly) throws java.sql.SQLException
setReadOnly
in interface java.sql.Connection
java.sql.SQLException
public boolean isReadOnly() throws java.sql.SQLException
isReadOnly
in interface java.sql.Connection
java.sql.SQLException
public void setCatalog(java.lang.String catalog) throws java.sql.SQLException
setCatalog
in interface java.sql.Connection
java.sql.SQLException
public java.lang.String getCatalog() throws java.sql.SQLException
getCatalog
in interface java.sql.Connection
java.sql.SQLException
public void setTransactionIsolation(int level) throws java.sql.SQLException
setTransactionIsolation
in interface java.sql.Connection
java.sql.SQLException
public int getTransactionIsolation() throws java.sql.SQLException
getTransactionIsolation
in interface java.sql.Connection
java.sql.SQLException
public java.sql.SQLWarning getWarnings() throws java.sql.SQLException
getWarnings
in interface java.sql.Connection
java.sql.SQLException
public void clearWarnings() throws java.sql.SQLException
clearWarnings
in interface java.sql.Connection
java.sql.SQLException
public java.sql.Statement createStatement(int resultSetType, int resultSetConcurrency) throws java.sql.SQLException
createStatement
in interface java.sql.Connection
java.sql.SQLException
public java.sql.PreparedStatement prepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency) throws java.sql.SQLException
prepareStatement
in interface java.sql.Connection
java.sql.SQLException
public java.sql.CallableStatement prepareCall(java.lang.String sql, int resultSetType, int resultSetConcurrency) throws java.sql.SQLException
prepareCall
in interface java.sql.Connection
java.sql.SQLException
public java.util.Map getTypeMap() throws java.sql.SQLException
getTypeMap
in interface java.sql.Connection
java.sql.SQLException
public void setTypeMap(java.util.Map map) throws java.sql.SQLException
setTypeMap
in interface java.sql.Connection
java.sql.SQLException
public boolean isProxySession()
OracleConnection
isProxySession
in interface OracleConnection
public void openProxySession(int mode, java.util.Properties prop) throws java.sql.SQLException
OracleConnection
openProxySession
in interface OracleConnection
java.sql.SQLException
public void archive(int mode, int aseq, java.lang.String acstext) throws java.sql.SQLException
OracleConnection
archive
in interface OracleConnection
java.sql.SQLException
public boolean getAutoClose() throws java.sql.SQLException
OracleConnection
getAutoClose
in interface OracleConnection
java.sql.SQLException
- should never been raisedsetAutoClose
public java.sql.CallableStatement getCallWithKey(java.lang.String key) throws java.sql.SQLException
OracleConnection
getCallWithKey
in interface OracleConnection
key
- Specified key to search for
java.sql.SQLException
public int getDefaultExecuteBatch()
OracleConnection
The batch value from the connection is used for all prepared statements
associated with this connection. A different batch value can also be
defined for individual prepared statements. This can be done by using
OraclePreparedStatement.setExecuteBatch
, which will override
the default value provided from the connection. Therefore, the batch value
returned by this getDefaultExecuteBatch
entrypoint is valid
for prepared statements for which you have not defined a different batch
value.
The following code retrieves the default batch value of the connection
conn
.
Integer batch_val = ((OracleConnection)conn).getDefaultExecuteBatch();
getDefaultExecuteBatch
in interface OracleConnection
OraclePreparedStatement.setExecuteBatch
,
setDefaultExecuteBatch
public int getDefaultRowPrefetch()
OracleConnection
The row-prefetching feature associates an integer row-prefetch setting
with a given statement object. JDBC fetches that number of rows at a time
from the database during the query. That is, JDBC will fetch N rows that
match the query criteria and bring them all back to the client at once,
where N is the prefetch setting. Then, once your next
calls
have run through those N rows, JDBC will go back to fetch the next N rows
that match the criteria.
You can set the number of rows to prefetch for a particular Oracle
statement (any type of statement). You can also reset the default number of
rows that will be prefetched for all statements in your connection with the
setDefaultRowPrefetch
method. Therefore, the row prefetch
value returned by this getDefaultRowPrefetch
entrypoint is
valid for statements for which you have not defined a different row
prefetch value.
The default number of rows to prefetch to the client is 10.
Example where conn
is your connection object:
//Get the default row-prefetch setting for this connection
int defRowPref = ((OracleConnection)conn).getDefaultRowPrefetch();
getDefaultRowPrefetch
in interface OracleConnection
OracleStatement.setRowPrefetch
,
setDefaultRowPrefetch
public java.lang.Object getDescriptor(java.lang.String sql_name)
OracleConnection
getDescriptor
in interface OracleConnection
sql_name
- the sql type
putDescriptor
,
oracle.sql.TypeDescriptor
public java.lang.String[] getEndToEndMetrics() throws java.sql.SQLException
OracleConnection
getEndToEndMetrics
in interface OracleConnection
java.sql.SQLException
- if an error occurssetEndToEndMetrics
public short getEndToEndECIDSequenceNumber() throws java.sql.SQLException
OracleConnection
getEndToEndECIDSequenceNumber
in interface OracleConnection
java.sql.SQLException
- if an error occurspublic boolean getIncludeSynonyms()
OracleConnection
DatabaseMetaData.getColumns
.
By default and for performance reasons it won't but you can change this with the
setIncludeSynonyms
method.
getIncludeSynonyms
in interface OracleConnection
DatabaseMetaData.getColumns
will report
information if a table synonym is passed in, and false otherwisesetIncludeSynonyms
public boolean getRestrictGetTables()
OracleConnection
DatabaseMetaData.getTables
.
The default behavior is to return information about all synonyms,
including those which do not point to accessible tables or views. But you
can change this with the setRestrictGetTables
method.
getRestrictGetTables
in interface OracleConnection
DatabaseMetaData.getTables
is restricted, and false otherwisesetRestrictGetTables
public boolean getImplicitCachingEnabled() throws java.sql.SQLException
OracleConnection
getImplicitCachingEnabled
in interface OracleConnection
java.sql.SQLException
public boolean getExplicitCachingEnabled() throws java.sql.SQLException
OracleConnection
getExplicitCachingEnabled
in interface OracleConnection
java.sql.SQLException
public java.lang.Object getJavaObject(java.lang.String sql_name) throws java.sql.SQLException
getJavaObject
in interface OracleConnection
java.sql.SQLException
public boolean getRemarksReporting()
OracleConnection
getTables
or
getColumns
of the DatabaseMetaData
interface will
report the REMARKS
column.
By default and for performance reasons it won't (it will return
null
) but you can change this with the
setRemarksReporting
method.
getRemarksReporting
in interface OracleConnection
DatabaseMetaData
calls getTables
and getColumns
will report the REMARKS column and false otherwisesetRemarksReporting
public java.lang.String getSQLType(java.lang.Object obj) throws java.sql.SQLException
getSQLType
in interface OracleConnection
java.sql.SQLException
public int getStmtCacheSize()
getStmtCacheSize
in interface OracleConnection
public int getStatementCacheSize() throws java.sql.SQLException
OracleConnection
getStatementCacheSize
in interface OracleConnection
java.sql.SQLException
public java.sql.PreparedStatement getStatementWithKey(java.lang.String key) throws java.sql.SQLException
OracleConnection
getStatementWithKey
in interface OracleConnection
key
- Specified key to search for
java.sql.SQLException
public short getStructAttrCsId() throws java.sql.SQLException
OracleConnection
getStructAttrCsId
in interface OracleConnection
java.sql.SQLException
- if Conversion is nullpublic java.lang.String getUserName() throws java.sql.SQLException
OracleConnection
Example where conn
is your connection object:
String UserName = ((OracleConnection)conn).getUserName();
getUserName
in interface OracleConnection
java.sql.SQLException
- if the logical connection is closedpublic boolean getUsingXAFlag()
OracleConnection
UsingXA
flag which the driver sets to
true
when using XA to manage distributed transactions. If you
are not using distributed transactions with the XA library, the value of
the UsingXA
flag will be false
.
getUsingXAFlag
in interface OracleConnection
true
when using XA to manage distributed transactions
and false
otherwise.setUsingXAFlag
public boolean getXAErrorFlag()
OracleConnection
XAError
flag which is used with
distributed transactions.
When using distributed transactions with an XA library, you can ask the
driver to raise exception when doing anything that might require a
transaction. To do so, set the value of the XAError
flag to
true
with the method setXAErrorFlag
.
The default value is false
.
getXAErrorFlag
in interface OracleConnection
setXAErrorFlag
public OracleSavepoint oracleSetSavepoint() throws java.sql.SQLException
OracleConnection
OracleSavepoint
object that
represents it.
oracleSetSavepoint
in interface OracleConnection
OracleSavepoint
object
java.sql.SQLException
- if a database access error occurs
or this Connection
object is currently in
auto-commit modeOracleSavepoint
public OracleSavepoint oracleSetSavepoint(java.lang.String name) throws java.sql.SQLException
OracleConnection
OracleSavepoint
object that
represents it.
oracleSetSavepoint
in interface OracleConnection
name
- a String
containing the name of the savepoint
OracleSavepoint
object
java.sql.SQLException
- if a database access error occurs
or this Connection
object is currently in
auto-commit modeOracleSavepoint
public void oracleRollback(OracleSavepoint savepoint) throws java.sql.SQLException
OracleConnection
OracleSavepoint
object was set.
This method should be used only when auto-commit has been disabled.
oracleRollback
in interface OracleConnection
savepoint
- the OracleSavepoint
object to roll back to
java.sql.SQLException
- if a database access error occurs,
the OracleSavepoint
object is no longer valid,
or this Connection
object is currently in
auto-commit modeOracleSavepoint
public void oracleReleaseSavepoint(OracleSavepoint savepoint) throws java.sql.SQLException
OracleConnection
OracleSavepoint
object from the current
transaction. Any reference to the savepoint after it have been removed
will cause an SQLException
to be thrown.
oracleReleaseSavepoint
in interface OracleConnection
savepoint
- the OracleSavepoint
object to be removed
java.sql.SQLException
- if a database access error occurs or
the given OracleSavepoint
object is not a valid
savepoint in the current transactionOracleSavepoint
public int pingDatabase(int timeOut) throws java.sql.SQLException
OracleConnection
pingDatabase
in interface OracleConnection
java.sql.SQLException
public void purgeExplicitCache() throws java.sql.SQLException
OracleConnection
purgeExplicitCache
in interface OracleConnection
java.sql.SQLException
public void purgeImplicitCache() throws java.sql.SQLException
OracleConnection
purgeImplicitCache
in interface OracleConnection
java.sql.SQLException
public void putDescriptor(java.lang.String sql_name, java.lang.Object desc) throws java.sql.SQLException
OracleConnection
putDescriptor
in interface OracleConnection
sql_name
- the sql typedesc
- the Object Descriptor associated
java.sql.SQLException
- if sql_name or desc is nullgetDescriptor
,
oracle.sql.TypeDescriptor
public void registerSQLType(java.lang.String sql_name, java.lang.Class java_class) throws java.sql.SQLException
registerSQLType
in interface OracleConnection
java.sql.SQLException
public void registerSQLType(java.lang.String sql_name, java.lang.String java_class_name) throws java.sql.SQLException
registerSQLType
in interface OracleConnection
java.sql.SQLException
public void setAutoClose(boolean autoClose) throws java.sql.SQLException
OracleConnection
setAutoClose
in interface OracleConnection
autoClose
- the boolean value
java.sql.SQLException
- when the argument autoClose is falsegetAutoClose
public void setDefaultExecuteBatch(int batch) throws java.sql.SQLException
OracleConnection
You can reduce the number of round trips to the database, thereby
improving application performance, by grouping multiple
UPDATE
, DELETE
, or INSERT
statements
into a single "batch" and having the whole batch sent to the database and
processed in one trip. To do this, you can either use the Oracle update
batching model or the batch updates of the Sun Microsystems JDBC 2.0
specification. The standard model is a manual, explicit model (there is no
batch value) whereas the Oracle model is an implicit model.
Note: It is important to be aware that you cannot mix theses models. In any single application, you can use the syntax of one model or the other, but not both. The Oracle JDBC driver will throw exceptions when you mix these syntaxes.
The Oracle update batching feature associates a batch value (limit) with
each prepared statement object (this way the driver knows in advance how
many operations will be batched). With Oracle update batching, instead of
the JDBC driver executing a prepared statement each time its
executeUpdate
method is called, the driver adds the statement
to a batch of accumulated execution requests. The driver will pass all the
operations to the database for execution once the batch value is
reached. For example, if the batch value is 10, then each batch of 10
operations will be sent to the database and processed in one trip.
The following code sets the default batch value to 20 for
all prepared statement objects associated with the conn
connection object:
((OracleConnection)conn).setDefaultExecuteBatch(20);
Even though this sets the default batch value for all the prepared
statements of the connection, you can override it by calling
setDefaultBatch
on individual Oracle prepared statements.
The connection batch value will apply to statement objects created after
this batch value was set.
Note that instead of calling setDefaultExecuteBatch
, you
can set the defaultBatchValue
Java property if you use a Java
Properties
object in establishing the connection.
Types of Statements Supported. As implemented by Oracle, update batching is intended for use with prepared statements, when you are repeating the same statement with different bind variables. Be aware of the following:
Note
that because Oracle update batching is vendor-specific, you must actually
use (or cast to) OraclePreparedStatement
objects, not general
PreparedStatement
objects.
UPDATE
, INSERT
, or
DELETE
operations. Executing a batch that includes an
operation that attempts to return a result set will cause an exception.
Note that with standard update batching model, you can use either
standard PreparedStatement
, CallableStatement
,
and Statement
objects, or Oracle-specific
OraclePreparedStatement
, OracleCallableStatement
,
and OracleStatement
objects.
Oracle Update Batching Characteristics and Limitations
sendBatch
method of an Oracle prepared statement in any of the
following circumstances: 1) the connection receives a COMMIT
request, either as a result of invoking the commit
method or
as a result of auto-commit mode; 2) the statement receives a
close
request; or 3) the connection receives a
close
request.
COMMIT
request, statement close, or
connection close has no effect on a pending batch if you use standard
update batching--only if you use Oracle update batching.
setDefaultExecuteBatch
in interface OracleConnection
batch
- your default batch value (default is 1)
java.sql.SQLException
- if the argument batch is <=0OraclePreparedStatement.setExecuteBatch
,
getDefaultExecuteBatch
public void setDefaultRowPrefetch(int value) throws java.sql.SQLException
OracleConnection
The row-prefetching feature associates an integer row-prefetch setting with
a given statement object. JDBC fetches that number of rows at a time from
the database during the query. That is, JDBC will fetch N rows that match
the query criteria and bring them all back to the client at once, where N
is the prefetch setting. Then, once your next
calls have run
through those N rows, JDBC will go back to fetch the next N rows that match
the criteria.
You can set the number of rows to prefetch for a particular Oracle statement (any type of statement) but this method allows you to reset the default number of rows that will be prefetched for all statements in your connection. The default number of rows to prefetch to the client is 10.
Use the setDefaultRowPrefetch
method to set the default number of
rows to prefetch, passing in an integer that specifies the desired default. If you
want to check the current setting of the default, then use the
getDefaultRowPrefetch
method. This method returns an integer.
Example where conn
is your connection object:
//Set the default row-prefetch setting for this connection to 7
((OracleConnection)conn).setDefaultRowPrefetch(7);
Note 1 : A statement object receives the default row-prefetch setting from the associated connection at the time the statement object is created. Subsequent changes to the connection's default row-prefetch setting have no effect on the statement's row-prefetch setting.
Note 2 : If a column of a result set is of datatype LONG or LONG RAW (that is, the streaming types), JDBC changes the statement's row-prefetch setting to 1, even if you never actually read a value of either of those types.
Note 3 : Do not mix the JDBC 2.0 fetch size API and the Oracle row-prefetching API in your application. You can use one or the other but not both.
setDefaultRowPrefetch
in interface OracleConnection
value
- the number of rows to prefetch
java.sql.SQLException
- if the argument value is <=0OracleStatement.setRowPrefetch
,
getDefaultRowPrefetch
public void setEndToEndMetrics(java.lang.String[] metrics, short sequenceNumber) throws java.sql.SQLException
OracleConnection
setEndToEndMetrics
in interface OracleConnection
java.sql.SQLException
- if an error occursgetEndToEndMetrics
public void setExplicitCachingEnabled(boolean cache) throws java.sql.SQLException
OracleConnection
setExplicitCachingEnabled
in interface OracleConnection
cache
- If true, then explicit caching will be enabled. If false,
then any existing statements will be purged and the explicit
cache will be disabled.
java.sql.SQLException
- if called on a logical connection.public void setImplicitCachingEnabled(boolean cache) throws java.sql.SQLException
OracleConnection
setImplicitCachingEnabled
in interface OracleConnection
cache
- If true, then implicit caching will be enabled. If false,
then any existing statements will be purged and the implicit
cache will be disabled.
java.sql.SQLException
- if called on a logical connection.public void setIncludeSynonyms(boolean synonyms)
OracleConnection
Similar to setRemarksReporting
, getColumns
performs extremely slow if information about synonyms has to be included,
because it neccessitates an outer join so, by default, the JDBC driver will
not report information about synonyms.
You can get synonym information by passing true to this method, and turn it off by passing false. You can also control this behavior by passing a property named "includeSynonyms" as "true" to DriverManager.getConnection.
setIncludeSynonyms
in interface OracleConnection
synonyms
- true if you want to retrieve synonym information
in DatabaseMetaData.getColumns and false otherwise.getIncludeSynonyms
public void setRemarksReporting(boolean reportRemarks)
OracleConnection
getTables
and getColumns
calls of the
DatabaseMetaData
interface.
The DatabaseMetaData
calls getTables
and getColumns
are extremely slow if the REMARKS column has to be reported as this
necessitates an expensive outer join so by default the JDBC driver does not report
the REMARKS columns.
You can turn the reporting of REMARKS on by passing a true
argument
to this method. You turn it back off by passing a false
argument.
Example where conn
is your connection object:
((OracleConnection)conn).setRemarksReporting(true);
You can also control the reporting of REMARKS by passing a property
named remarksReporting
as true
to the
DriverManager.getConnection
call.
setRemarksReporting
in interface OracleConnection
reportRemarks
- true if you want to turn on the reporting of
the REMARKS columns and false otherwise.getRemarksReporting
public void setRestrictGetTables(boolean restrict)
OracleConnection
DatabaseMetaData.getTables.
DatabaseMetaData.getTables
will return information about
all accessible tables, views, and synonyms. There are two issues relating
to synonyms which can affect the quality of the returned data:
getTables
can return rows
containing objects that are not describable with getColumns
,
either because they are not accessible (issue 1) or because they are not
tables or views (issue 2).
To remedy this, you can restrict the results of getTables
to only those tables and views to which you have access. This is done by
either passing true
to this method, or by passing the
restrictGetTables
property as true
to the
DriverManager.getConnection
call. The default behavior is to
return information about all synonyms, including those which do not point
to accessible tables or views.
Note that getTables
can return more than one row for the
same object, one for the object itself, and additional rows for any
synonyms defined for that object. This is the case regardless of the
setting for restrictGetTables.
The following code turns on the restriction:
((OracleConnection)conn).setRestrictGetTables(true);
setRestrictGetTables
in interface OracleConnection
restrict
- true to turn on the restriction and false
otherwise.getRestrictGetTables
public void setStmtCacheSize(int size) throws java.sql.SQLException
setStmtCacheSize
in interface OracleConnection
java.sql.SQLException
public void setStatementCacheSize(int size) throws java.sql.SQLException
OracleConnection
setStatementCacheSize
in interface OracleConnection
size
- Requested size of the cache. If the existing cache size
is less than size, statements will be purged to reduce the
size.
java.sql.SQLException
- if size < 0, or if called on a logical connection.public void setStmtCacheSize(int size, boolean clearMetaData) throws java.sql.SQLException
setStmtCacheSize
in interface OracleConnection
java.sql.SQLException
public void setUsingXAFlag(boolean value)
OracleConnection
UsingXA
flag.
XA is a general standard (not specific to Java) for distributed transactions. You should use this method only when using XA.
By default, when using distributed transactions with XA, the driver will
set the UsingXA
flag to true
and exceptions will
be raised when you want to do anything with your logical connection that
might require a transaction. Otherwise the flag UsingXA
is
always false
.
If you are actually using distributed transactions with XA and you dislike the
default behavior, you can set the flag back to false
.
setUsingXAFlag
in interface OracleConnection
value
- the value of the UsingXA
flaggetUsingXAFlag
public void setXAErrorFlag(boolean value)
OracleConnection
XAError
flag which is used with
distributed transactions. When coexisting with an XA library, you can set
the XAError
flag to true
and the driver will then
raise an exception when doing anything that might require a transaction.
setXAErrorFlag
in interface OracleConnection
value
- the value of the XAError
flaggetXAErrorFlag
public void shutdown(int mode) throws java.sql.SQLException
OracleConnection
shutdown
in interface OracleConnection
java.sql.SQLException
public void startup(java.lang.String startup_str, int mode) throws java.sql.SQLException
OracleConnection
startup
in interface OracleConnection
java.sql.SQLException
public java.sql.PreparedStatement prepareStatementWithKey(java.lang.String key) throws java.sql.SQLException
prepareStatementWithKey
in interface OracleConnection
key
- the key with which it was closed
java.sql.SQLException
- if a database access error occurspublic java.sql.CallableStatement prepareCallWithKey(java.lang.String key) throws java.sql.SQLException
prepareCallWithKey
in interface OracleConnection
key
- the key with which it was closed
java.sql.SQLException
- if a database access error occurspublic void setCreateStatementAsRefCursor(boolean value)
OracleConnection
true
, any new statements created from this
connection will be created as a REF CURSOR
. Only resultsets
obtained from statements that are created as REF CURSORS
can
be returned from a Java Stored Procedure. This feature is supported by the
server-side internal driver only, and is no-op in all other JDBC drivers.
Default value is false
.
To use the setCreateStatementAsRefCursor
entrypoint you
have to cast the Connection object to the type
oracle.jdbc.OracleConnection
.
setCreateStatementAsRefCursor
in interface OracleConnection
value
- true
if new statements should be created as
REF CURSORS
, false
otherwisegetCreateStatementAsRefCursor
public boolean getCreateStatementAsRefCursor()
OracleConnection
createStatementAsRefCursor
flag which you can set with the
setCreateStatementAsRefCursor
method.
To use the getCreateStatementAsRefCursor
entrypoint you
have to cast the Connection object to the type
oracle.jdbc.OracleConnection
.
getCreateStatementAsRefCursor
in interface OracleConnection
setCreateStatementAsRefCursor
public void setSessionTimeZone(java.lang.String regionName) throws java.sql.SQLException
OracleConnection
This method is used to set the session time zone. This method must be invoked before accessing any TIMESTAMP WITH LOCAL TIME ZONE data. Upon invocation of this method, the Jdbc driver sets the session timezone of the connection adnd saves the session timezone so that any TSLTZ data accessed via Jdbc are adjusted using the session timezone.
setSessionTimeZone
in interface OracleConnection
regionName
- Oracle session time zone region name.
java.sql.SQLException
- if an error occurred.public java.lang.String getSessionTimeZone()
OracleConnection
getSessionTimeZone
in interface OracleConnection
public java.sql.Connection _getPC()
OracleConnection
_getPC
in interface OracleConnection
public boolean isLogicalConnection()
OracleConnection
isLogicalConnection
in interface OracleConnection
public void registerTAFCallback(OracleOCIFailover cbk, java.lang.Object obj) throws java.sql.SQLException
OracleConnection
registerTAFCallback
in interface OracleConnection
cbk
- Callback instance.obj
- Context object in which any client's state can be
stored and provided when the callback method is
invoked.
java.sql.SQLException
- if this method is invoked in drivers other than
the Jdbc OCI driver.public java.util.Properties getProperties()
OracleConnection
getProperties
in interface OracleConnection
properties set during creation
public void close(java.util.Properties connAttr) throws java.sql.SQLException
OracleConnection
close
in interface OracleConnection
connAttr
- the connection Attributes to be applied
java.sql.SQLException
- if a database access error occurspublic void close(int opt) throws java.sql.SQLException
OracleConnection
close
in interface OracleConnection
opt
- set to INVALID_CONNECTION to close the PooledConnection
java.sql.SQLException
- if a database access error occurspublic void applyConnectionAttributes(java.util.Properties connAttr) throws java.sql.SQLException
OracleConnection
applyConnectionAttributes
in interface OracleConnection
connAttr
- the connection Attributes to be applied
java.sql.SQLException
- if a database access error occurspublic java.util.Properties getConnectionAttributes() throws java.sql.SQLException
OracleConnection
getConnectionAttributes
in interface OracleConnection
java.sql.SQLException
- if a database access error occurspublic java.util.Properties getUnMatchedConnectionAttributes() throws java.sql.SQLException
OracleConnection
getUnMatchedConnectionAttributes
in interface OracleConnection
java.sql.SQLException
- if a database access error occurspublic void registerConnectionCacheCallback(OracleConnectionCacheCallback occc, java.lang.Object userObj, int cbkFlag) throws java.sql.SQLException
OracleConnection
registerConnectionCacheCallback
in interface OracleConnection
occc
- Implementation of the OracleConnectionCacheCallback InterfaceuserObj
- User private object to be passed when invoking callbackscbkFlag
- Indicates which callback method to invoke.
Supported values are:
ABANDONED_CONNECTION_CALLBACK
RELEASE_CONNECTION_CALLBACK
ALL_CONNECTION_CALLBACKS
java.sql.SQLException
- if a database access error occurspublic void setConnectionReleasePriority(int priority) throws java.sql.SQLException
OracleConnection
setConnectionReleasePriority
in interface OracleConnection
priority
- one of the above release priority
java.sql.SQLException
- if a database access error occurspublic int getConnectionReleasePriority() throws java.sql.SQLException
OracleConnection
getConnectionReleasePriority
in interface OracleConnection
java.sql.SQLException
- if a database access error occurspublic void setPlsqlWarnings(java.lang.String setting) throws java.sql.SQLException
OracleConnection
setPlsqlWarnings
in interface OracleConnection
setting
- Setting specified for ALTER SESSION SET PLSQL_WARNINGS.
Sample values are: "'ENABLE:ALL'", "'DISABLE:ALL'",
"'ENALBLE:INFORMATIONAL'", etc. Please refer to the SQL
reference of ALTER SESSION SET PLSQL_WARNINGS for
more information. If the setting is "'DISABLE:ALL'",
jdbc drivers turn off PLSQL Compiler Warnings.
Note: the quotes(') in the setting String are necessary.
java.sql.SQLException
- if a database access error occurspublic void setHoldability(int holdability) throws java.sql.SQLException
setHoldability
in interface java.sql.Connection
java.sql.SQLException
public int getHoldability() throws java.sql.SQLException
getHoldability
in interface java.sql.Connection
java.sql.SQLException
public java.sql.Savepoint setSavepoint() throws java.sql.SQLException
setSavepoint
in interface java.sql.Connection
java.sql.SQLException
public java.sql.Savepoint setSavepoint(java.lang.String name) throws java.sql.SQLException
setSavepoint
in interface java.sql.Connection
java.sql.SQLException
public void rollback(java.sql.Savepoint savepoint) throws java.sql.SQLException
rollback
in interface java.sql.Connection
java.sql.SQLException
public void releaseSavepoint(java.sql.Savepoint savepoint) throws java.sql.SQLException
releaseSavepoint
in interface java.sql.Connection
java.sql.SQLException
public java.sql.Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws java.sql.SQLException
createStatement
in interface java.sql.Connection
java.sql.SQLException
public java.sql.PreparedStatement prepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws java.sql.SQLException
prepareStatement
in interface java.sql.Connection
java.sql.SQLException
public java.sql.CallableStatement prepareCall(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws java.sql.SQLException
prepareCall
in interface java.sql.Connection
java.sql.SQLException
public java.sql.PreparedStatement prepareStatement(java.lang.String sql, int autoGeneratedKeys) throws java.sql.SQLException
prepareStatement
in interface java.sql.Connection
java.sql.SQLException
public java.sql.PreparedStatement prepareStatement(java.lang.String sql, int[] columnIndexes) throws java.sql.SQLException
prepareStatement
in interface java.sql.Connection
java.sql.SQLException
public java.sql.PreparedStatement prepareStatement(java.lang.String sql, java.lang.String[] columnNames) throws java.sql.SQLException
prepareStatement
in interface java.sql.Connection
java.sql.SQLException
|
Oracle10g JDBC | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |