com.sibvisions.rad.persist.jdbc
Class OracleDBAccess

java.lang.Object
  extended by com.sibvisions.rad.persist.jdbc.DBAccess
      extended by com.sibvisions.rad.persist.jdbc.AbstractOracleDBAccess
          extended by com.sibvisions.rad.persist.jdbc.OracleDBAccess
All Implemented Interfaces:
IDBAccess, ICloseable

public class OracleDBAccess
extends AbstractOracleDBAccess

The OracleDBAccess is the implementation for Oracle databases.

See Also:
DBAccess

Nested Class Summary
static class OracleDBAccess.BlobFromBFILE
          The Blob is the implementation for Oracle BFILE.
 
Nested classes/interfaces inherited from class com.sibvisions.rad.persist.jdbc.DBAccess
DBAccess.BlobFileHandle, DBAccess.ParameterizedStatement
 
Field Summary
 
Fields inherited from class com.sibvisions.rad.persist.jdbc.DBAccess
BFILE, LONGNVARCHAR, NCHAR, NCLOB, NVARCHAR, QUOTE, SQLXML, TIMESTAMPWITHLOCALTIMEZONE, TIMESTAMPWITHTIMEZONE
 
Constructor Summary
OracleDBAccess()
          Constructs a new OracleDBAccess Object.
 
Method Summary
protected  java.lang.Object convertArrayToList(java.lang.Object pParam)
          Converts arrays to List of IBean.
protected  java.lang.Object convertDatabaseSpecificObjectToValue(ServerColumnMetaData pColumnMetaData, java.lang.Object pValue)
          Enables the database specific implementation to handle/convert special objects.
protected  java.lang.Object convertToArray(AbstractParam pParam)
          Converts list or array to oracle arrays.
protected  java.lang.Object getObjectFromResultSet(java.sql.ResultSet pResultSet, int pIndex)
          Gets the Object from the result set, and ensures that numbers are always returned as BigDecimal, and dates as Timestamp.
protected  java.lang.String getTableForSynonymIntern(java.lang.String pSynomyn)
          Returns the full qualified table name incl. schema/catalog/db link for the given synonym.
 
Methods inherited from class com.sibvisions.rad.persist.jdbc.AbstractOracleDBAccess
detectModified, executeFunction, executeProcedure, getAllowedValuesIntern, getDatabaseSpecificLockStatement, getDefaultValuesIntern, getForeignKeysIntern, getPrimaryKeyIntern, getTableForSynonymIntern, getTableInfoIntern, getUniqueKeysIntern, insertDatabaseSpecific, insertOracle, open
 
Methods inherited from class com.sibvisions.rad.persist.jdbc.DBAccess
clearMetaData, clearMetaData, close, commit, commitOrRollbackBeforeClose, convertValueToDatabaseSpecificObject, createIdentifier, createReplace, createServerColumnMetaData, createWhereColumn, createWhereParam, debug, delete, error, eventConfigureConnection, eventUnconfigureConnection, executeFunction, executeQuery, executeSql, executeSqlMulti, executeStatement, fetch, fetch, fetch, fetch, findAndCreateReducedCondition, findNamedParameters, fireEventConfigureConnection, fireEventUnconfigureConnection, formatSQLException, formatSQLException, getAllowedValues, getAutomaticLinkColumnNameTranslation, getCloseQuoteCharacter, getColumnMetaData, getColumnMetaDataCreator, getColumnMetaDataIntern, getColumnName, getConnection, getConnectionIntern, getConnectionPool, getDBAccess, getDBAccess, getDBAccess, getDBAccess, getDBAccess, getDBProperties, getDBProperty, getDefaultAllowedValues, getDefaultCursorCacheTimeout, getDefaultLargeObjectLimit, getDefaultSchema, getDefaultValues, getDiscardRowCount, getDriver, getForeignKeys, getIdentifier, getLargeObjectLimit, getMaxColumnLength, getMaxTime, getMetaDataCacheOption, getMetaDataWhereClause, getObjectFromResultSet, getOpenQuoteCharacter, getParameter, getParameter, getParameterizedSelectStatement, getPassword, getPreparedStatement, getPreparedStatement, getPrimaryKey, getQueryTimeout, getRealQueryColumnName, getSelectStatement, getSelectStatement, getSQL, getTableForSynonym, getTableInfo, getTransactionTimeout, getUniqueKeys, getUrl, getUsername, getWhereClause, info, initializeColumnMetaData, initializeDataType, initializeServerColumnMetaData, insert, insertAnsiSQL, isAutoCommit, isAutoQuote, isConnectionPoolEnabled, isJdbc, isLogEnabled, isMetaDataCacheEnabled, isModified, isOpen, isReleaseConnectionPending, isTypeEqual, lockRow, lockRowInternal, prepareConnection, quote, quoteAllways, registerDBAccessClass, releaseConnection, releaseConnectionIntern, removeDBSpecificQuotes, removeQuotes, rollback, setAutoCommit, setAutomaticLinkColumnNameTranslation, setColumnMetaDataCreator, setColumnMetaDataCreator, setColumnsToStore, setConnection, setConnectionPool, setConnectionPoolEnabled, setDBProperties, setDBProperty, setDefaultCursorCacheTimeout, setDefaultLargeObjectLimit, setDefaultSchema, setDriver, setLargeObjectLimit, setMaxTime, setMetaDataCacheOption, setModified, setPassword, setQueryTimeout, setQuoteCharacters, setTransactionTimeout, setUrl, setUsername, splitSchemaTable, supportsGetGeneratedKeys, toString, translateDefaultValue, translateQuotes, translateValue, update, updateAnsiSQL, updateDatabaseSpecific
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

OracleDBAccess

public OracleDBAccess()
Constructs a new OracleDBAccess Object.

Method Detail

convertToArray

protected java.lang.Object convertToArray(AbstractParam pParam)
                                   throws java.sql.SQLException
Description copied from class: AbstractOracleDBAccess
Converts list or array to oracle arrays.

Specified by:
convertToArray in class AbstractOracleDBAccess
Parameters:
pParam - the param to check
Returns:
the param or a list in case of array.
Throws:
java.sql.SQLException - the exception

convertArrayToList

protected java.lang.Object convertArrayToList(java.lang.Object pParam)
                                       throws java.sql.SQLException
Converts arrays to List of IBean.

Specified by:
convertArrayToList in class AbstractOracleDBAccess
Parameters:
pParam - the param to check
Returns:
the param or a list in case of array.
Throws:
java.sql.SQLException - the exception

getObjectFromResultSet

protected java.lang.Object getObjectFromResultSet(java.sql.ResultSet pResultSet,
                                                  int pIndex)
                                           throws java.sql.SQLException
Gets the Object from the result set, and ensures that numbers are always returned as BigDecimal, and dates as Timestamp. This is for database independency support.

Overrides:
getObjectFromResultSet in class DBAccess
Parameters:
pResultSet - the result set
pIndex - the index
Returns:
the object
Throws:
java.sql.SQLException - if it fails.

getTableForSynonymIntern

protected java.lang.String getTableForSynonymIntern(java.lang.String pSynomyn)
                                             throws DataSourceException
Returns the full qualified table name incl. schema/catalog/db link for the given synonym. If pSynomyn is no synonym, then the pSynomyn string is returned.

Overrides:
getTableForSynonymIntern in class DBAccess
Parameters:
pSynomyn - the synonym to use.
Returns:
the full qualified table name incl. schema/catalog/db link for the given synonym.
Throws:
DataSourceException - if an error occur in determining the synonyms.

convertDatabaseSpecificObjectToValue

protected java.lang.Object convertDatabaseSpecificObjectToValue(ServerColumnMetaData pColumnMetaData,
                                                                java.lang.Object pValue)
                                                         throws java.sql.SQLException
Enables the database specific implementation to handle/convert special objects. Some databases have datatypes that are not defined in the standard. This datatypes have specific classes in the JDBC drivers. With this method it is possible to convert the values of specific JDBC driver classes into usable objects. We can not send any JDBC object to the client!

Overrides:
convertDatabaseSpecificObjectToValue in class DBAccess
Parameters:
pColumnMetaData - the column metadata
pValue - the read object
Returns:
the value to use
Throws:
java.sql.SQLException - if it fails.


Copyright © 2009 SIB Visions GmbH. All Rights Reserved.