|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.ojb.broker.platforms.PlatformDefaultImpl
org.apache.ojb.broker.platforms.PlatformOracleImpl
org.apache.ojb.broker.platforms.PlatformWLOracle9iImpl
PlatformOracle9iImpl
should be usable in WebLogic
This class is a concrete implementation of Platform
. Provides
an implementation that works around some issues with Oracle running within WebLogic. As
WebLogic wraps the Oracle physical connection with its own logical connection it is necessary to
retrieve the underlying physical connection before creating a CLOB or BLOB.
NOTE : When you use the physical connection WebLogic by default marks it as "infected" and discards it when
the logicical connection is closed. You can change this behavior by setting the
RemoveInfectedConnectionsEnabled attribute on a connection pool.
see http://e-docs.bea.com/wls/docs81/jdbc/thirdparty.html#1043646
Optimization: Oracle Batching (not standard JDBC batching)
see http://technet.oracle.com/products/oracle9i/daily/jun07.html
Optimization: Oracle Prefetching
see http://otn.oracle.com/sample_code/tech/java/sqlj_jdbc/files/advanced/RowPrefetchSample/Readme.html
TODO: Optimization: use ROWNUM to minimize the effects of not having server side cursors
see http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:127412348064
Platform
,
PlatformDefaultImpl
,
PlatformOracleImpl
,
PlatformOracle9iImpl
Field Summary |
Fields inherited from interface org.apache.ojb.broker.accesslayer.JoinSyntaxTypes |
ORACLE_JOIN_SYNTAX, SQL92_JOIN_SYNTAX, SQL92_NOPAREN_JOIN_SYNTAX, SYBASE_JOIN_SYNTAX |
Constructor Summary | |
PlatformWLOracle9iImpl()
Deprecated. |
Method Summary | |
void |
addBatch(java.sql.PreparedStatement stmt)
Deprecated. Try Oracle update batching and call executeUpdate or revert to JDBC update batching. |
void |
afterStatementCreate(java.sql.Statement stmt)
Deprecated. Enables Oracle row prefetching if supported. |
void |
beforeBatch(java.sql.PreparedStatement stmt)
Deprecated. Try Oracle update batching and call setExecuteBatch or revert to JDBC update batching. |
int[] |
executeBatch(java.sql.PreparedStatement stmt)
Deprecated. Try Oracle update batching and call sendBatch or revert to JDBC update batching. |
void |
setObjectForStatement(java.sql.PreparedStatement ps,
int index,
java.lang.Object value,
int sqlType)
Deprecated. For objects beyond 4k, weird things happen in Oracle if you try to use "setBytes", so for all cases it's better to use setBinaryStream. |
Methods inherited from class org.apache.ojb.broker.platforms.PlatformOracleImpl |
createSequenceQuery, createSequenceQuery, dropSequenceQuery, getJoinSyntaxType, nextSequenceQuery, prepareNextValProcedureStatement, registerOutResultSet |
Methods inherited from class org.apache.ojb.broker.platforms.PlatformDefaultImpl |
addPagingSql, afterStatementClose, beforeStatementClose, bindPagingParameters, bindPagingParametersFirst, changeAutoCommitState, concatenate, getEscapeClause, getLastInsertIdentityQuery, initializeJdbcConnection, setNullForStatement, supportsBatchOperations, supportsMultiColumnCountDistinct, supportsPaging, useCountForResultsetSize |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public PlatformWLOracle9iImpl()
Method Detail |
public void afterStatementCreate(java.sql.Statement stmt) throws PlatformException
afterStatementCreate
in interface Platform
afterStatementCreate
in class PlatformOracleImpl
stmt
- the statement just created
PlatformException
- upon JDBC failurepublic void beforeBatch(java.sql.PreparedStatement stmt) throws PlatformException
beforeBatch
in interface Platform
beforeBatch
in class PlatformDefaultImpl
stmt
- the prepared statement to be used for batching
PlatformException
- upon JDBC failurepublic void addBatch(java.sql.PreparedStatement stmt) throws PlatformException
addBatch
in interface Platform
addBatch
in class PlatformDefaultImpl
stmt
- the statement beeing added to the batch
PlatformException
- upon JDBC failurepublic int[] executeBatch(java.sql.PreparedStatement stmt) throws PlatformException
executeBatch
in interface Platform
executeBatch
in class PlatformDefaultImpl
stmt
- the batched prepared statement about to be executed
null
if Oracle update batching is used,
since it is impossible to dissolve total row count into distinct
statement counts. If JDBC update batching is used, an int array is
returned containing number of updated rows for each batched statement.
PlatformException
- upon JDBC failurepublic void setObjectForStatement(java.sql.PreparedStatement ps, int index, java.lang.Object value, int sqlType) throws java.sql.SQLException
PlatformOracleImpl
setObjectForStatement
in interface Platform
setObjectForStatement
in class PlatformOracleImpl
java.sql.SQLException
Platform.setObjectForStatement(java.sql.PreparedStatement, int, java.lang.Object, int)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |