|
© 2002 BEA Systems, Inc. | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--com.bea.p13n.util.jdbc.JdbcHelper
See the Database and DatabaseFactory classes.
Method Summary | |
static void |
close(java.sql.Connection con)
Deprecated. Close a connection, ignoring any errors. |
static void |
close(java.sql.ResultSet rs)
Deprecated. Close a result set, ignoring any errors. |
static void |
close(java.sql.ResultSet rs,
java.sql.Statement stmt,
java.sql.Connection con)
Deprecated. Close a connection, statement and resultset, ignoring errors. |
static void |
close(java.sql.Statement stmt)
Deprecated. Close a statement, ignoring any errors. |
static void |
commitConnection(java.sql.Connection con)
Deprecated. Commits the java.sql.Connection that you have been using for CLOB operations. |
static java.lang.String |
getClob(java.sql.ResultSet rs,
int index)
Deprecated. |
static java.sql.Clob |
getClobLocator(java.sql.Connection con,
java.lang.String tableName,
java.lang.String clobColumnName,
java.lang.String whereClause)
Deprecated. |
static java.sql.Connection |
getConnection(javax.sql.DataSource src,
int retries)
Deprecated. Get a connection from a DataSource with retry logic. |
static java.sql.Connection |
getConnection(javax.sql.DataSource src,
int retries,
long waitTime)
Deprecated. |
static java.lang.String |
getEmptyClobInitializer()
Deprecated. |
static JdbcHelper |
getInstance()
Deprecated. |
static boolean |
isNoResourceException(java.sql.SQLException ex)
Deprecated. Tell if a SQLException is telling that no resources/connections are available right now. |
static boolean |
setClob(java.sql.PreparedStatement stmt,
int index,
java.sql.Clob clob,
java.lang.String str)
Deprecated. If there is a delegate, this method uses JdbcHelperDelegate.writeClobData() |
static void |
setClob(java.sql.PreparedStatement stmt,
int index,
java.lang.String str)
Deprecated. Set the value of a CLOB column with a string. |
static void |
setJdbcHelperDelegate(java.lang.String className)
Deprecated. |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
Method Detail |
public static void setJdbcHelperDelegate(java.lang.String className)
public static JdbcHelper getInstance()
public static java.lang.String getEmptyClobInitializer() throws java.sql.SQLException
For example, the method returns EMPTY_CLOB() when an Oracle delegate is used.
public static java.sql.Clob getClobLocator(java.sql.Connection con, java.lang.String tableName, java.lang.String clobColumnName, java.lang.String whereClause) throws java.sql.SQLException
This method only returns a single CLOB locator. If the WHERE clause results in mutiple rows, only the CLOB from the first row is returned.
If no JdbcHelperDelegate is specified in application-config.xml then this method will return null.
WARNING: if using a delegate to stream data to a CLOB, then you should use Connection.setAutoCommit(false) before calling this method. This will make the CLOB available across multiple SQL statements.
con
- the database connectiontableName
- the name of the database tableclobColumnName
- the name of the column holding the CLOBwhereClause
- the where clause (without WHERE keyword)public static java.sql.Connection getConnection(javax.sql.DataSource src, int retries, long waitTime) throws java.sql.SQLException
This will retry upto maxRetries. Additionally, it will only retry for waitTime number of milliseconds (as best as possible -- it might be longer, but will not be less).
This will always try at least once to get a connection. Use retries=0 for only a single attempt.
This works with both transactional and non-transaction DataSources tied to WLS connection pools. In WLS, transactional DataSources always internally wait 5 seconds for a new connection; non-transaction DataSources don't wait at all.
NOTE: The connection pool referenced by the given DataSource needs to be configured with the testConnOnReserve property set to true. This is necessary to ensure that in the event a SQLException is thrown, the cause of the exception is the unavailability of a pooled connection.
src
- the data source.retries
- the maximum number of times to retry (cannot
exceed maxRetries).waitTime
- the maximum number of milliseconds to try (cannot
exceed maxWaitTime).public static java.sql.Connection getConnection(javax.sql.DataSource src, int retries) throws java.sql.SQLException
src
- the data source.retries
- the maximum number of times to retry (cannot
exceed maxRetries).public static void close(java.sql.Connection con)
con
- The Connection object to be closed.public static void close(java.sql.Statement stmt)
stmt
- The Statement object to be closed.public static void close(java.sql.ResultSet rs)
rs
- The ResultSet object to be closed.public static void close(java.sql.ResultSet rs, java.sql.Statement stmt, java.sql.Connection con)
rs
- The ResultSet object to be closed.stmt
- The Statement object to be closed.con
- The Connection object to be closed.public static java.lang.String getClob(java.sql.ResultSet rs, int index) throws java.sql.SQLException
This method will only return the value of the CLOB in the current row of the ResultSet. This method does not increment the ResultSet cursor. You must use ResultSet.next() to increment the cursor before calling this method. This allows the method to be used to process multi-row ResultSets.
rs
- the result set.index
- the column index in the result set.public static void setClob(java.sql.PreparedStatement stmt, int index, java.lang.String str) throws java.sql.SQLException
stmt
- the prepared statement.index
- the column index.str
- the CLOB string.public static boolean setClob(java.sql.PreparedStatement stmt, int index, java.sql.Clob clob, java.lang.String str) throws java.sql.SQLException
stmt
- the prepared statement.index
- the column index.clob
- the CLOB locator (ignored if no delegate).str
- the String to be set in the CLOB (if delegate) or in the PreparedStatement (if no delegate)WARNING: if using a delegate to stream data to a CLOB, then you should have used Connection.setAutoCommit(false) before calling the CLOB locator method that provided the Clob you are using in this method call. This will make the CLOB available across multiple SQL statements.
public static void commitConnection(java.sql.Connection con) throws java.sql.SQLException
The delegate may implement this as a no-op method if it is illegal to do a Connection.commit() for the driver (e.g., jDriver for Oracle XA)
If there is no delegate, this method does a Connection.commit()
con
- the Connectionpublic static boolean isNoResourceException(java.sql.SQLException ex)
When WLS doesn't have an available connection for a DataSource (either TX or non-TX), it will throw a SQLException with a message following this regular expression: "ResourceException.+[Nn]o.+available". That seems to the only way to tell if a connection wasn't availble from the underlying pool.
|
© 2002 BEA Systems, Inc. | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |