OracleDatabase Class
- public abstract class OracleDatabase
extends GenericDatabase
Provides partial implementation of common functionality for Oracle JDBC
drivers. Base class for Oracle driver-specific Database instances to
support reading/writing of BLOB/CLOB data.
Related Topics
GenericDatabase
-
Hierarchy
-
Object
GenericDatabase
OracleDatabase
-
All Implemented Interfaces
-
Database
-
Direct Known Subclasses
-
OracleThinDatabase
, WlsOracleJDriverDatabase
, WlsOracleThinDatabase
Methods from com.bea.p13n.util.jdbc.GenericDatabase |
accept , close , close , close , close , close , close , close , close , close , commitConnection , createPreparedStatement , endBlob , endClob , getApplicationName , getBlob , getBlobLocator , getClob , getClobTableName , getConnection , getName , getProperty , printSqlWarning , readFromClob , readFromClob , setClob , startBlob , startClob , writeToClob , writeToClob
|
Methods from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods from interface com.bea.p13n.util.jdbc.Database |
accept , close , close , close , close , close , close , close , close , close , commitConnection , endBlob , endClob , getApplicationName , getBlob , getBlobLocator , getClob , getClobLocator , getConnection , getEmptyBlobInitializer , getEmptyClobInitializer , getName , readFromClob , setClob , setClob , startBlob , startClob , writeToClob
|
OracleDatabase
public OracleDatabase(Connection
connection)
getClobLocator(Connection, String, String, String) Method
public Clob
getClobLocator(Connection
con,
String
tableName,
String
clobColumnName,
String
whereClause)
throws SQLException
-
Overrides
-
GenericDatabase.getClobLocator(Connection, String, String, String)
Exceptions
-
SQLException
getEmptyBlobInitializer() Method
public String
getEmptyBlobInitializer()
throws SQLException
Returns the String required to initialize a BlobLocator object in an
Oracle database. Since you modify the BlobLocator object
in the database instead of writing to the column directly, this helps
to identify the method used to create one in a PreparedStatement such as
INSERT INTO BLOB_TABLE ( ID, BLOBS ) VALUES ( ?, empty_blob() ).
-
Overrides
-
GenericDatabase.getEmptyBlobInitializer()
Returns
- String method used to create a BlobLocator in an Oracle database.
Exceptions
-
SQLException
- on an error.
getEmptyClobInitializer() Method
public String
getEmptyClobInitializer()
throws SQLException
-
Overrides
-
GenericDatabase.getEmptyClobInitializer()
Exceptions
-
SQLException
setClob(PreparedStatement, int, Clob, String) Method
public boolean setClob(PreparedStatement
stmt,
int index,
Clob
clob,
String
data)
throws SQLException
Write to a CLOB. Write the input stream containing the ASCII
data associated with the passed String to the CLOB's output stream.
Streams support for updating CLOB columns is not addressed
by JDBC 2.0 so this method uses an extension implemented in the
delegate. This will always return false, since the Clob is written
directly to the database.
-
Overrides
-
GenericDatabase.setClob(PreparedStatement, int, Clob, String)
Parameters
-
stmt
- the PreparedStatement
-
index
- the paramater index
-
clob
- the CLOB locator
-
data
- the string value
Returns
- boolean executeRequired. If false then a delegate was used to directly set the CLOB in
the database without using the PreparedStatement. If true then no delegate was
used, or the delegate set the Clob value on the statement and
the PreparedStatement must be executed to update the database.
Exceptions
-
SQLException
- on an error
trimClob(Clob, long) Method
protected void trimClob(Clob
clob,
long newLength)
throws SQLException
Trim a CLOB to desired size. This method does not commit the
connection. In normal use, you will call this method with a
connection that has auto-commit disabled. After you have called
this method with such a connection you can then commit it
(if you are finished with the CLOB).
If the newLength is greater than or equal to the current CLOB
length (determined from Clob.length()) then nothing is done.
This trim is required because Oracle
has some strange behavior for CLOB UPDATEs:
If you use UPDATE to put a small CLOB into a field that contains
a larger CLOB, then the CLOB size remains unchanged. In other
words, the new small CLOB data overlaps the large CLOB data and
the end of the CLOB consists of the old data from the end of the
large CLOB.
Exceptions
-
SQLException
updateClob(ClobKey, String) Method
public void updateClob(ClobKey
key,
String
data)
throws SQLException
Updates a CLOB in the database managed tables
for CLOB persistence
Exceptions
-
SQLException