Class OracleNGOCIDataStoreFactory
- Object
-
- JDBCDataStoreFactory
-
- OracleNGDataStoreFactory
-
- OracleNGOCIDataStoreFactory
-
- All Implemented Interfaces:
DataAccessFactory
,DataStoreFactorySpi
,Factory
public class OracleNGOCIDataStoreFactory extends OracleNGDataStoreFactory
Creates an Oracle datastore based on a thick OCI client connection, instead of the traditional (thin) jdbc connection. The thin JDBC connection was designed for clients requiring no more classes than just ojdbc14.jar. The OCI JDBC drivers are based on the Oracle client software and rely mostly on the C/C++ based OCI (Oracle Call Interface) runtime.Looking over the internet it's not clear whether the OCI setup is faster than thin driver, different benchmarks report different results, but for sure OCI allows to expose a wider set of configurations and in particular it's recognized as the best way to connect to an Oracle cluster.
Instead of the instance, host, port requirements of the normal oracle factory this driver just requires the 'alias', which refers to values defined by the Oracle Net Configuration assistant and stored in $ORACLE_HOME/NETWORK/ADMIN/tnsnames.ora. We have also had luck on the same computer with just leaving 'alias' as an empty string, and it seems to have a reasonable default behavior.
- Author:
- Chris Holmes, TOPP, Bernard de Terwangne, star.be, Andrea Aime - OpenGeo
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface DataAccessFactory
DataAccessFactory.Param
-
-
Field Summary
Fields Modifier and Type Field Description static DataAccessFactory.Param
ALIAS
The alias parameter used to specify the database to connect to-
Fields inherited from class OracleNGDataStoreFactory
CONNECTION_TIMEOUT, DATABASE, DBTYPE, ESTIMATED_EXTENTS, GEOMETRY_METADATA_TABLE, GET_REMARKS, HOST, LOGIN_TIMEOUT, LOOSEBBOX, METADATA_BBOX, OUTBOUND_CONNECTION_TIMEOUT, PORT
-
Fields inherited from class JDBCDataStoreFactory
BATCH_INSERT_SIZE, CALLBACK_FACTORY, DATASOURCE, EVICTOR_TESTS_PER_RUN, EXPOSE_PK, FETCHSIZE, MAX_OPEN_PREPARED_STATEMENTS, MAXCONN, MAXWAIT, MIN_EVICTABLE_TIME, MINCONN, NAMESPACE, PASSWD, PK_METADATA_TABLE, SCHEMA, SQL_ON_BORROW, SQL_ON_RELEASE, TEST_WHILE_IDLE, TIME_BETWEEN_EVICTOR_RUNS, USER, VALIDATECONN
-
-
Constructor Summary
Constructors Constructor Description OracleNGOCIDataStoreFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getDescription()
Describe the nature of the datasource constructed by this factory.String
getDisplayName()
Name suitable for display to end user.protected String
getJDBCUrl(Map params)
Builds up the JDBC url in a jdbc::// : / Override if you need a different setup protected void
setupParameters(Map parameters)
Sets up the database connection parameters.-
Methods inherited from class OracleNGDataStoreFactory
checkDBType, createDataStoreInternal, createSQLDialect, getDatabaseID, getDriverClassName, getValidationQuery
-
Methods inherited from class JDBCDataStoreFactory
canProcess, checkDBType, createDataSource, createDataSource, createDataStore, createNewDataStore, createSQLDialect, getImplementationHints, getParametersInfo, isAvailable
-
-
-
-
Field Detail
-
ALIAS
public static final DataAccessFactory.Param ALIAS
The alias parameter used to specify the database to connect to
-
-
Method Detail
-
getDisplayName
public String getDisplayName()
Description copied from interface:DataAccessFactory
Name suitable for display to end user.A non localized display name for this data store type.
- Specified by:
getDisplayName
in interfaceDataAccessFactory
- Overrides:
getDisplayName
in classOracleNGDataStoreFactory
- Returns:
- A short name suitable for display in a user interface.
-
getDescription
public String getDescription()
Description copied from interface:DataAccessFactory
Describe the nature of the datasource constructed by this factory.A non localized description of this data store type.
- Specified by:
getDescription
in interfaceDataAccessFactory
- Overrides:
getDescription
in classOracleNGDataStoreFactory
- Returns:
- A human readable description that is suitable for inclusion in a list of available datasources.
-
getJDBCUrl
protected String getJDBCUrl(Map params) throws IOException
Description copied from class:JDBCDataStoreFactory
Builds up the JDBC url in a jdbc::// : / Override if you need a different setup - Overrides:
getJDBCUrl
in classOracleNGDataStoreFactory
- Throws:
IOException
-
setupParameters
protected void setupParameters(Map parameters)
Description copied from class:JDBCDataStoreFactory
Sets up the database connection parameters.Subclasses may extend, but should not override. This implementation registers the following parameters.
Subclass implementation may remove any parameters from the map, or may overrwrite any parameters in the map.- Overrides:
setupParameters
in classOracleNGDataStoreFactory
- Parameters:
parameters
- Map ofDataAccessFactory.Param
objects.
-
-