Package org.apache.cayenne.dba.sqlserver
Class SQLServerAdapter
java.lang.Object
org.apache.cayenne.dba.JdbcAdapter
org.apache.cayenne.dba.sybase.SybaseAdapter
org.apache.cayenne.dba.sqlserver.SQLServerAdapter
- All Implemented Interfaces:
DbAdapter
Cayenne DbAdapter implementation for Microsoft SQL Server engine.
Microsoft Driver Settings
Sample connection settings to use with MS SQL Server are shown below:
sqlserver.jdbc.username = test sqlserver.jdbc.password = secret sqlserver.jdbc.url = jdbc:sqlserver://192.168.0.65;databaseName=cayenne;SelectMethod=cursor sqlserver.jdbc.driver = com.microsoft.sqlserver.jdbc.SQLServerDriver
Note on case-sensitive LIKE: if your application requires case-sensitive LIKE support, ask your DBA to configure the database to use a case-senstitive collation (one with "CS" in symbolic collation name instead of "CI", e.g. "SQL_Latin1_general_CP1_CS_AS").
jTDS Driver Settings
jTDS is an open source driver that can be downloaded from http://jtds.sourceforge.net . It supports both SQLServer and Sybase. Sample SQLServer settings are the following:
sqlserver.jdbc.username = test sqlserver.jdbc.password = secret sqlserver.jdbc.url = jdbc:jtds:sqlserver://192.168.0.65/cayenne sqlserver.jdbc.driver = net.sourceforge.jtds.jdbc.Driver
- Since:
- 1.1
-
Field Summary
Fields inherited from class org.apache.cayenne.dba.JdbcAdapter
caseInsensitiveCollations, ejbqlTranslatorFactory, extendedTypes, logger, quotingStrategy, resourceLocator, supportsBatchUpdates, supportsGeneratedKeys, supportsUniqueConstraints, typesHandler
-
Constructor Summary
ConstructorsConstructorDescriptionSQLServerAdapter
(RuntimeProperties runtimeProperties, List<ExtendedType> defaultExtendedTypes, List<ExtendedType> userExtendedTypes, List<ExtendedTypeFactory> extendedTypeFactories, ResourceLocator resourceLocator, ValueObjectTypeRegistry valueObjectTypeRegistry) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
Installs appropriate ExtendedTypes as converters for passing values between JDBC and Java layers.createUniqueConstraint
(DbEntity source, Collection<DbAttribute> columns) Generates DDL to create unique index that allows multiple NULL values to comply with ANSI SQL, that is default behaviour for other RDBMS.Uses SQLServerActionBuilder to create the right action.void
setVersion
(Integer version) boolean
Not supported, see: mssql-jdbc #245Methods inherited from class org.apache.cayenne.dba.sybase.SybaseAdapter
bindParameter, createEJBQLTranslatorFactory, createQuotingStrategy, createTableAppendColumn, getBatchTerminator
Methods inherited from class org.apache.cayenne.dba.JdbcAdapter
buildAttribute, createFkConstraint, createTable, createTableAppendPKClause, dropTableStatements, externalTypesForJdbcType, findResource, getEjbqlTranslatorFactory, getExtendedTypes, getJdbcEventLogger, getPkGenerator, getQuotingStrategy, getSelectTranslator, getType, initExtendedTypes, setEjbqlTranslatorFactory, setPkGenerator, setSupportsBatchUpdates, setSupportsGeneratedKeys, setSupportsUniqueConstraints, sizeAndPrecision, supportsBatchUpdates, supportsCatalogsOnReverseEngineering, supportsGeneratedKeys, supportsUniqueConstraints, tableTypeForTable, tableTypeForView, typeSupportsLength, typeSupportsScale, unwrap
-
Constructor Details
-
SQLServerAdapter
public SQLServerAdapter(RuntimeProperties runtimeProperties, List<ExtendedType> defaultExtendedTypes, List<ExtendedType> userExtendedTypes, List<ExtendedTypeFactory> extendedTypeFactories, ResourceLocator resourceLocator, ValueObjectTypeRegistry valueObjectTypeRegistry)
-
-
Method Details
-
supportsGeneratedKeysForBatchInserts
public boolean supportsGeneratedKeysForBatchInserts()Not supported, see: mssql-jdbc #245- See Also:
-
getSqlTreeProcessor
- Specified by:
getSqlTreeProcessor
in interfaceDbAdapter
- Overrides:
getSqlTreeProcessor
in classSybaseAdapter
- Returns:
SQLTreeProcessor
that can adjust SQL tree to specific database flavour- Since:
- 4.2
-
configureExtendedTypes
Description copied from class:SybaseAdapter
Installs appropriate ExtendedTypes as converters for passing values between JDBC and Java layers.- Overrides:
configureExtendedTypes
in classSybaseAdapter
-
getAction
Uses SQLServerActionBuilder to create the right action.- Specified by:
getAction
in interfaceDbAdapter
- Overrides:
getAction
in classJdbcAdapter
- Since:
- 1.2
-
getSystemSchemas
- Specified by:
getSystemSchemas
in interfaceDbAdapter
- Overrides:
getSystemSchemas
in classJdbcAdapter
- Returns:
- list of system schemas
-
getSystemCatalogs
- Specified by:
getSystemCatalogs
in interfaceDbAdapter
- Overrides:
getSystemCatalogs
in classJdbcAdapter
- Returns:
- list of system catalogs
-
getVersion
-
setVersion
- Parameters:
version
- of the server as provided by the JDBC driver- Since:
- 4.2
-
createUniqueConstraint
Generates DDL to create unique index that allows multiple NULL values to comply with ANSI SQL, that is default behaviour for other RDBMS.
Example:CREATE UNIQUE NONCLUSTERED INDEX _idx_entity_attribute ON entity(attribute) WHERE attribute IS NOT NULL
- Specified by:
createUniqueConstraint
in interfaceDbAdapter
- Overrides:
createUniqueConstraint
in classJdbcAdapter
- Parameters:
source
- entity for the indexcolumns
- source columns for the index- Returns:
- DDL to create unique index
- Since:
- 4.2.1
-