Package org.geotools.data.sqlserver
Class SQLServerDataStoreFactory
- Object
-
- JDBCDataStoreFactory
-
- SQLServerDataStoreFactory
-
- All Implemented Interfaces:
DataAccessFactory,DataStoreFactorySpi,Factory
- Direct Known Subclasses:
JTDSSqlServerDataStoreFactory
public class SQLServerDataStoreFactory extends JDBCDataStoreFactory
DataStore factory for Microsoft SQL Server.- Author:
- Justin Deoliveira, OpenGEO
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface DataAccessFactory
DataAccessFactory.Param
-
-
Field Summary
Fields Modifier and Type Field Description static DataAccessFactory.ParamDBTYPEparameter for database typestatic DataAccessFactory.ParamESTIMATED_EXTENTSparameter that enables estimated extends instead of exact onesstatic DataAccessFactory.ParamFORCE_SPATIAL_INDEXparameter for forcing the usage of spatial indexes in queries via sql hintsstatic DataAccessFactory.ParamGEOMETRY_METADATA_TABLEMetadata table providing information about primary keys *static DataAccessFactory.ParamINSTANCEparameter for database instancestatic DataAccessFactory.ParamINTSECparameter for using integrated security, only works on windows, ignores the user and password parameters, the current windows user account is used for loginstatic DataAccessFactory.ParamNATIVE_PAGINGparameter for using Native Pagingstatic DataAccessFactory.ParamNATIVE_SERIALIZATIONparameter for using WKB or Sql server binary directly.static DataAccessFactory.ParamPORTparameter for database portstatic DataAccessFactory.ParamTABLE_HINTSparameter for forcing the usage of spatial indexes in queries via sql hints-
Fields inherited from class JDBCDataStoreFactory
BATCH_INSERT_SIZE, CALLBACK_FACTORY, DATABASE, DATASOURCE, EVICTOR_TESTS_PER_RUN, EXPOSE_PK, FETCHSIZE, HOST, 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 SQLServerDataStoreFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancanProcess(Map<String,?> params)Default implementation verifies the Map against the Param information.protected JDBCDataStorecreateDataStoreInternal(JDBCDataStore dataStore, Map<String,?> params)Subclass hook to do additional initialization of a newly created datastore.protected SQLDialectcreateSQLDialect(JDBCDataStore dataStore)Creates the dialect that the datastore uses for communication with the underlying database.protected StringgetDatabaseID()Returns a string to identify the type of the database.StringgetDescription()Describe the nature of the datasource constructed by this factory.protected StringgetDriverClassName()Returns the fully qualified class name of the jdbc driver.protected StringgetJDBCUrl(Map<String,?> params)Builds up the JDBC url in a jdbc::// : ;DatabaseName= protected StringgetValidationQuery()Override this to return a good validation query (a very quick one, such as one that asks the database what time is it) or return null if the factory does not support validation.protected voidsetupParameters(Map<String,Object> parameters)Sets up the database connection parameters.-
Methods inherited from class JDBCDataStoreFactory
checkDBType, checkDBType, createDataSource, createDataSource, createDataStore, createNewDataStore, createSQLDialect, getDisplayName, getImplementationHints, getParametersInfo, isAvailable
-
-
-
-
Field Detail
-
DBTYPE
public static final DataAccessFactory.Param DBTYPE
parameter for database type
-
INTSEC
public static final DataAccessFactory.Param INTSEC
parameter for using integrated security, only works on windows, ignores the user and password parameters, the current windows user account is used for login
-
NATIVE_PAGING
public static final DataAccessFactory.Param NATIVE_PAGING
parameter for using Native Paging
-
GEOMETRY_METADATA_TABLE
public static final DataAccessFactory.Param GEOMETRY_METADATA_TABLE
Metadata table providing information about primary keys *
-
NATIVE_SERIALIZATION
public static final DataAccessFactory.Param NATIVE_SERIALIZATION
parameter for using WKB or Sql server binary directly. Setting to true will use WKB
-
FORCE_SPATIAL_INDEX
public static final DataAccessFactory.Param FORCE_SPATIAL_INDEX
parameter for forcing the usage of spatial indexes in queries via sql hints
-
ESTIMATED_EXTENTS
public static final DataAccessFactory.Param ESTIMATED_EXTENTS
parameter that enables estimated extends instead of exact ones
-
TABLE_HINTS
public static final DataAccessFactory.Param TABLE_HINTS
parameter for forcing the usage of spatial indexes in queries via sql hints
-
PORT
public static final DataAccessFactory.Param PORT
parameter for database port
-
INSTANCE
public static final DataAccessFactory.Param INSTANCE
parameter for database instance
-
-
Method Detail
-
createSQLDialect
protected SQLDialect createSQLDialect(JDBCDataStore dataStore)
Description copied from class:JDBCDataStoreFactoryCreates the dialect that the datastore uses for communication with the underlying database.- Specified by:
createSQLDialectin classJDBCDataStoreFactory- Parameters:
dataStore- The datastore.
-
getDatabaseID
protected String getDatabaseID()
Description copied from class:JDBCDataStoreFactoryReturns a string to identify the type of the database.Example: 'postgis'.
- Specified by:
getDatabaseIDin classJDBCDataStoreFactory
-
getDescription
public String getDescription()
Description copied from interface:DataAccessFactoryDescribe the nature of the datasource constructed by this factory.A non localized description of this data store type.
- Returns:
- A human readable description that is suitable for inclusion in a list of available datasources.
-
getDriverClassName
protected String getDriverClassName()
Description copied from class:JDBCDataStoreFactoryReturns the fully qualified class name of the jdbc driver.For example: org.postgresql.Driver
- Specified by:
getDriverClassNamein classJDBCDataStoreFactory
-
getValidationQuery
protected String getValidationQuery()
Description copied from class:JDBCDataStoreFactoryOverride this to return a good validation query (a very quick one, such as one that asks the database what time is it) or return null if the factory does not support validation.- Specified by:
getValidationQueryin classJDBCDataStoreFactory
-
setupParameters
protected void setupParameters(Map<String,Object> parameters)
Description copied from class:JDBCDataStoreFactorySets 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:
setupParametersin classJDBCDataStoreFactory- Parameters:
parameters- Map ofDataAccessFactory.Paramobjects.
-
getJDBCUrl
protected String getJDBCUrl(Map<String,?> params) throws IOException
Builds up the JDBC url in a jdbc::// : ;DatabaseName= - Overrides:
getJDBCUrlin classJDBCDataStoreFactory- Throws:
IOException
-
canProcess
public boolean canProcess(Map<String,?> params)
Description copied from class:JDBCDataStoreFactoryDefault implementation verifies the Map against the Param information.It will ensure that:
- params is not null
- Everything is of the correct type (or upcovertable to the correct type without Error)
- Required Parameters are present
- Specified by:
canProcessin interfaceDataAccessFactory- Overrides:
canProcessin classJDBCDataStoreFactory- Parameters:
params- The full set of information needed to construct a live data source.- Returns:
- true if params is in agreement with getParametersInfo and checkDBType
-
createDataStoreInternal
protected JDBCDataStore createDataStoreInternal(JDBCDataStore dataStore, Map<String,?> params) throws IOException
Description copied from class:JDBCDataStoreFactorySubclass hook to do additional initialization of a newly created datastore.Typically subclasses will want to override this method in the case where they provide additional datastore parameters, those should be processed here.
This method is provided with an instance of the datastore. In some cases subclasses may wish to create a new instance of the datastore, for instance in order to wrap the original instance. This is supported but the new datastore must be returned from this method. If not is such the case this method should still return the original passed in.
- Overrides:
createDataStoreInternalin classJDBCDataStoreFactory- Parameters:
dataStore- The newly created datastore.params- THe datastore parameters.- Throws:
IOException
-
-