public class MSSQLServerDatabaseMeta extends BaseDatabaseMeta implements DatabaseInterface
ATTRIBUTE_CLUSTER_DBNAME_PREFIX, ATTRIBUTE_CLUSTER_HOSTNAME_PREFIX, ATTRIBUTE_CLUSTER_PASSWORD_PREFIX, ATTRIBUTE_CLUSTER_PORT_PREFIX, ATTRIBUTE_CLUSTER_USERNAME_PREFIX, ATTRIBUTE_FORCE_IDENTIFIERS_TO_LOWERCASE, ATTRIBUTE_FORCE_IDENTIFIERS_TO_UPPERCASE, ATTRIBUTE_INITIAL_POOL_SIZE, ATTRIBUTE_IS_CLUSTERED, ATTRIBUTE_MAXIMUM_POOL_SIZE, ATTRIBUTE_MSSQL_DOUBLE_DECIMAL_SEPARATOR, ATTRIBUTE_POOLING_PARAMETER_PREFIX, ATTRIBUTE_PORT_NUMBER, ATTRIBUTE_PREFERRED_SCHEMA_NAME, ATTRIBUTE_PREFIX_EXTRA_OPTION, ATTRIBUTE_PRESERVE_RESERVED_WORD_CASE, ATTRIBUTE_QUOTE_ALL_FIELDS, ATTRIBUTE_SQL_CONNECT, ATTRIBUTE_SUPPORTS_BOOLEAN_DATA_TYPE, ATTRIBUTE_SUPPORTS_TIMESTAMP_DATA_TYPE, ATTRIBUTE_USE_POOLING, ATTRIBUTE_USE_RESULT_STREAMING, AUTOINCREMENT_SQL_FOR_BATCH_ID, NAMED_CLUSTER_ID, poolingParameters, releaseSavepoint, SELECT_COUNT_STATEMENT, SEQUENCE_FOR_BATCH_ID| Constructor and Description |
|---|
MSSQLServerDatabaseMeta() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
checkIndexExists(Database database,
String schemaName,
String tableName,
String[] idxFields)
Verifies on the specified database connection if an index exists on the fields with the specified name.
|
int[] |
getAccessTypeList()
Get the list of possible access types for a database.
|
String |
getAddColumnStatement(String tablename,
ValueMetaInterface v,
String tk,
boolean useAutoinc,
String pk,
boolean semicolon)
Generates the SQL statement to add a column to the specified table
|
int |
getDefaultDatabasePort() |
String |
getDriverClass()
Obtain the name of the JDBC driver class that we need to use!
|
String |
getDropColumnStatement(String tablename,
ValueMetaInterface v,
String tk,
boolean useAutoinc,
String pk,
boolean semicolon)
Generates the SQL statement to drop a column from the specified table
|
String |
getExtraOptionsHelpText() |
String |
getFieldDefinition(ValueMetaInterface v,
String tk,
String pk,
boolean useAutoinc,
boolean addFieldName,
boolean addCr)
Describe a Value as a field in the database.
|
int |
getMaxVARCHARLength()
Get the maximum length of a text field (VARCHAR) for this database connection.
|
String |
getModifyColumnStatement(String tablename,
ValueMetaInterface v,
String tk,
boolean useAutoinc,
String pk,
boolean semicolon)
Generates the SQL statement to modify a column in the specified table
|
Long |
getNextBatchIdUsingLockTables(DatabaseMeta dbm,
Database ldb,
String schemaName,
String tableName,
String fieldName) |
String[] |
getReservedWords() |
String |
getSchemaTableCombination(String schemaName,
String tablePart)
Get the schema-table combination to query the right table.
|
String |
getSQLColumnExists(String columnname,
String tablename) |
String |
getSQLCurrentSequenceValue(String sequenceName)
Get the current value of a database sequence
|
String |
getSQLInsertAutoIncUnknownDimensionRow(String schemaTable,
String keyField,
String versionField)
Get the SQL to insert a new empty unknown record in a dimension.
|
String |
getSQLListOfProcedures(String schemaName) |
String |
getSQLListOfSchemas() |
String |
getSQLListOfSequences() |
String |
getSQLLockTables(String[] tableNames) |
String |
getSQLNextSequenceValue(String sequenceName)
Get the SQL to get the next value of a sequence.
|
String |
getSQLQueryColumnFields(String columnname,
String tableName) |
String |
getSQLQueryFields(String tableName)
Returns the minimal SQL to launch in order to determine the layout of the resultset for a given database table
|
String |
getSQLSequenceExists(String sequenceName)
Check if a sequence exists.
|
String |
getSQLTableExists(String tablename) |
String |
getURL(String hostname,
String port,
String databaseName) |
String[] |
getUsedLibraries() |
String |
quoteSQLString(String string)
Adds quotes around the string according to the database dialect and also escapes special characters like CR, LF and
the quote character itself.
|
boolean |
supportsBitmapIndex() |
boolean |
supportsCatalogs() |
boolean |
supportsErrorHandlingOnBatchUpdates() |
boolean |
supportsSchemas() |
boolean |
supportsSequenceNoMaxValueOption() |
boolean |
supportsSequences() |
boolean |
supportsSynonyms() |
boolean |
useSafePoints() |
addAttribute, addDefaultOptions, addExtraOption, canTest, clone, customizeValueFromSQLType, fullExceptionLog, generateColumnAlias, getAccessType, getAttribute, getAttributes, getBackwardsCompatibleSchemaTableCombination, getBackwardsCompatibleTable, getConnectionPoolingProperties, getConnectSQL, getCreateTableStatement, getDatabaseFactoryName, getDatabaseName, getDatabasePortNumberString, getDataTablespace, getDataTablespaceDDL, getDefaultOptions, getDisplayName, getDropTableIfExistsStatement, getEndQuote, getExtraOptionIndicator, getExtraOptions, getExtraOptionSeparator, getExtraOptionValueSeparator, getFieldnameProtector, getFunctionAverage, getFunctionCount, getFunctionMaximum, getFunctionMinimum, getFunctionSum, getHostname, getIndexTablespace, getIndexTablespaceDDL, getInitialPoolSize, getInitialPoolSizeString, getLimitClause, getMaxColumnsInIndex, getMaximumPoolSize, getMaximumPoolSizeString, getMaxTextFieldLength, getName, getNamedCluster, getNextBatchId, getNextBatchIdUsingAutoIncSQL, getNextBatchIdUsingSequence, getNotFoundTK, getObjectId, getPartitioningInformation, getPassword, getPluginId, getPluginName, getPreferredSchemaName, getSafeFieldname, getSelectCountStatement, getSequenceNoMaxValueOption, getServername, getSQLListOfProcedures, getSqlScriptStatements, getSQLUnlockTables, getSQLValue, getStartQuote, getSynonymTypes, getTablespaceDDL, getTableTypes, getTruncateTableStatement, getUsername, getValueFromResultSet, getViewTypes, getXulOverlayFile, isChanged, isDefaultingToUppercase, isDisplaySizeTwiceThePrecision, isExplorable, isFetchSizeSupported, isForcingIdentifiersToLowerCase, isForcingIdentifiersToUpperCase, isMySQLVariant, isPartitioned, isQuoteAllFields, isRequiringTransactionsOnQueries, isStreamingResults, isSystemTable, isUsingConnectionPool, isUsingDoubleDecimalAsSchemaTableSeparator, needsPlaceHolder, needsToLockAllTables, onlySpaces, parseStatements, preserveReservedCase, quoteReservedWords, releaseSavepoint, requiresCastToVariousForIsNull, requiresCreateTablePrimaryKeyAppend, requiresName, setAccessType, setAttributes, setChanged, setConnectionPoolingProperties, setConnectSQL, setDatabaseName, setDatabasePortNumberString, setDataTablespace, setDisplayName, setForcingIdentifiersToLowerCase, setForcingIdentifiersToUpperCase, setHostname, setIndexTablespace, setInitialPoolSize, setInitialPoolSizeString, setMaximumPoolSize, setMaximumPoolSizeString, setName, setNamedCluster, setObjectId, setPartitioned, setPartitioningInformation, setPassword, setPluginId, setPluginName, setPreferredSchemaName, setPreserveReservedCase, setQuoteAllFields, setServername, setStreamingResults, setSupportsBooleanDataType, setSupportsTimestampDataType, setUsername, setUsingConnectionPool, setUsingDoubleDecimalAsSchemaTableSeparator, supportsAutoGeneratedKeys, supportsAutoInc, supportsBatchUpdates, supportsBooleanDataType, supportsEmptyTransactions, supportsErrorHandling, supportsFloatRoundingOnUpdate, supportsGetBlob, supportsNewLinesInSQL, supportsOptionsInURL, supportsPreparedStatementMetadataRetrieval, supportsRepository, supportsResultSetMetadataRetrievalOnly, supportsSetCharacterStream, supportsSetLong, supportsSetMaxRows, supportsTimestampDataType, supportsTimeStampToDateConversion, supportsTransactions, supportsViews, useSchemaNameForTableListequals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddAttribute, addDefaultOptions, addExtraOption, clone, createSqlScriptParser, customizeValueFromSQLType, generateColumnAlias, getAccessType, getAttribute, getAttributes, getConnectionPoolingProperties, getConnectSQL, getCreateTableStatement, getDatabaseFactoryName, getDatabaseName, getDatabasePortNumberString, getDataTablespace, getDataTablespaceDDL, getDefaultOptions, getDisplayName, getEndQuote, getExtraOptionIndicator, getExtraOptions, getExtraOptionSeparator, getExtraOptionValueSeparator, getFunctionAverage, getFunctionCount, getFunctionMaximum, getFunctionMinimum, getFunctionSum, getHostname, getIndexTablespace, getIndexTablespaceDDL, getInitialPoolSize, getInitialPoolSizeString, getLegacyColumnName, getLimitClause, getMaxColumnsInIndex, getMaximumPoolSize, getMaximumPoolSizeString, getMaxTextFieldLength, getName, getNamedCluster, getNamedClusterList, getNextBatchId, getNotFoundTK, getObjectId, getPartitioningInformation, getPassword, getPluginId, getPluginName, getPreferredSchemaName, getSafeFieldname, getSchemas, getSelectCountStatement, getSequenceNoMaxValueOption, getServername, getSQLListOfProcedures, getSqlScriptStatements, getSQLUnlockTables, getSQLValue, getStartQuote, getSynonymTypes, getTables, getTableTypes, getTruncateTableStatement, getUnsupportedTableOutputMessage, getUsername, getValueFromResultSet, getViewTypes, getXulOverlayFile, isChanged, isDefaultingToUppercase, isDisplaySizeTwiceThePrecision, isExplorable, isFetchSizeSupported, isForcingIdentifiersToLowerCase, isForcingIdentifiersToUpperCase, isMySQLVariant, isPartitioned, isQuoteAllFields, isRequiringTransactionsOnQueries, isStreamingResults, isSystemTable, isUsingConnectionPool, isUsingDoubleDecimalAsSchemaTableSeparator, needsPlaceHolder, needsToLockAllTables, parseStatements, preserveReservedCase, putOptionalOptions, quoteReservedWords, releaseSavepoint, requiresCastToVariousForIsNull, requiresCreateTablePrimaryKeyAppend, setAccessType, setAttributes, setChanged, setConnectionPoolingProperties, setConnectSQL, setDatabaseName, setDatabasePortNumberString, setDataTablespace, setDisplayName, setForcingIdentifiersToLowerCase, setForcingIdentifiersToUpperCase, setHostname, setIndexTablespace, setInitialPoolSize, setInitialPoolSizeString, setMaximumPoolSize, setMaximumPoolSizeString, setName, setNamedCluster, setObjectId, setPartitioned, setPartitioningInformation, setPassword, setPluginId, setPluginName, setPreferredSchemaName, setPreserveReservedCase, setQuoteAllFields, setServername, setStreamingResults, setSupportsBooleanDataType, setSupportsTimestampDataType, setUsername, setUsingConnectionPool, setUsingDoubleDecimalAsSchemaTableSeparator, supportsAutoGeneratedKeys, supportsAutoInc, supportsBatchUpdates, supportsBooleanDataType, supportsEmptyTransactions, supportsErrorHandling, supportsFloatRoundingOnUpdate, supportsGetBlob, supportsIndexes, supportsNewLinesInSQL, supportsOptionsInURL, supportsPreparedStatementMetadataRetrieval, supportsRepository, supportsResultSetMetadataRetrievalOnly, supportsSetCharacterStream, supportsSetLong, supportsSetMaxRows, supportsStandardTableOutput, supportsTimestampDataType, supportsTimeStampToDateConversion, supportsTransactions, supportsViews, useSchemaNameForTableListpublic boolean supportsCatalogs()
supportsCatalogs in interface DatabaseInterfacesupportsCatalogs in class BaseDatabaseMetapublic int[] getAccessTypeList()
DatabaseInterfacegetAccessTypeList in interface DatabaseInterfacegetAccessTypeList in class BaseDatabaseMetapublic int getDefaultDatabasePort()
getDefaultDatabasePort in interface DatabaseInterfacegetDefaultDatabasePort in class BaseDatabaseMetapublic String getDriverClass()
DatabaseInterfacegetDriverClass in interface DatabaseInterfacepublic String getURL(String hostname, String port, String databaseName)
getURL in interface DatabaseInterfacehostname - the hostnameport - the port as a stringdatabaseName - the database namepublic String getSchemaTableCombination(String schemaName, String tablePart)
BaseDatabaseMetagetSchemaTableCombination in interface DatabaseInterfacegetSchemaTableCombination in class BaseDatabaseMetaschemaName - The schema nametablePart - The tablenamepublic boolean supportsBitmapIndex()
supportsBitmapIndex in interface DatabaseInterfacesupportsBitmapIndex in class BaseDatabaseMetapublic boolean supportsSynonyms()
supportsSynonyms in interface DatabaseInterfacesupportsSynonyms in class BaseDatabaseMetapublic String getSQLQueryFields(String tableName)
BaseDatabaseMetagetSQLQueryFields in interface DatabaseInterfacegetSQLQueryFields in class BaseDatabaseMetatableName - The name of the table to determine the layout forpublic String getSQLTableExists(String tablename)
getSQLTableExists in interface DatabaseInterfacegetSQLTableExists in class BaseDatabaseMetatablename - The table to verify the existance forpublic String getSQLColumnExists(String columnname, String tablename)
getSQLColumnExists in interface DatabaseInterfacegetSQLColumnExists in class BaseDatabaseMetacolumnname - The column to verify the existance fortablename - The table to verify the existance forpublic String getSQLLockTables(String[] tableNames)
getSQLLockTables in interface DatabaseInterfacegetSQLLockTables in class BaseDatabaseMetatableNames - The names of the tables to lockpublic String getAddColumnStatement(String tablename, ValueMetaInterface v, String tk, boolean useAutoinc, String pk, boolean semicolon)
getAddColumnStatement in interface DatabaseInterfacetablename - The table to addv - The column defined as a valuetk - the name of the technical key fielduseAutoinc - whether or not this field uses auto incrementpk - the name of the primary key fieldsemicolon - whether or not to add a semi-colon behind the statement.public String getModifyColumnStatement(String tablename, ValueMetaInterface v, String tk, boolean useAutoinc, String pk, boolean semicolon)
getModifyColumnStatement in interface DatabaseInterfacetablename - The table to addv - The column defined as a valuetk - the name of the technical key fielduseAutoinc - whether or not this field uses auto incrementpk - the name of the primary key fieldsemicolon - whether or not to add a semi-colon behind the statement.public String getDropColumnStatement(String tablename, ValueMetaInterface v, String tk, boolean useAutoinc, String pk, boolean semicolon)
getDropColumnStatement in interface DatabaseInterfacegetDropColumnStatement in class BaseDatabaseMetatablename - The table to addv - The column defined as a valuetk - the name of the technical key fielduseAutoinc - whether or not this field uses auto incrementpk - the name of the primary key fieldsemicolon - whether or not to add a semi-colon behind the statement.public String getFieldDefinition(ValueMetaInterface v, String tk, String pk, boolean useAutoinc, boolean addFieldName, boolean addCr)
DatabaseInterfacegetFieldDefinition in interface DatabaseInterfacev - The value to describetk - The field that's going to be the technical keypk - The field that's going to be the primary keyuseAutoinc - Use autoincrement or notaddFieldName - Add the fieldname to the definition or notaddCr - Add a cariage return at the end of the definition or not.public String getSQLListOfProcedures(String schemaName)
the - schema name to search in or null if you want to search the whole DBpublic String[] getReservedWords()
getReservedWords in interface DatabaseInterfacegetReservedWords in class BaseDatabaseMetapublic String[] getUsedLibraries()
getUsedLibraries in interface DatabaseInterfacepublic String getExtraOptionsHelpText()
getExtraOptionsHelpText in interface DatabaseInterfacegetExtraOptionsHelpText in class BaseDatabaseMetapublic boolean checkIndexExists(Database database, String schemaName, String tableName, String[] idxFields) throws KettleDatabaseException
checkIndexExists in interface DatabaseInterfacecheckIndexExists in class BaseDatabaseMetadatabase - a connected databaseschemaName - tableName - idxFields - KettleDatabaseExceptionpublic String getSQLListOfSchemas()
getSQLListOfSchemas in interface DatabaseInterfacegetSQLListOfSchemas in class BaseDatabaseMetapublic boolean supportsSchemas()
supportsSchemas in interface DatabaseInterfacesupportsSchemas in class BaseDatabaseMetapublic String getSQLInsertAutoIncUnknownDimensionRow(String schemaTable, String keyField, String versionField)
getSQLInsertAutoIncUnknownDimensionRow in interface DatabaseInterfacegetSQLInsertAutoIncUnknownDimensionRow in class BaseDatabaseMetaschemaTable - the schema-table name to insert intokeyField - The key fieldversionField - the version fieldpublic String getSQLNextSequenceValue(String sequenceName)
BaseDatabaseMetagetSQLNextSequenceValue in interface DatabaseInterfacegetSQLNextSequenceValue in class BaseDatabaseMetasequenceName - The sequence namepublic String getSQLCurrentSequenceValue(String sequenceName)
BaseDatabaseMetagetSQLCurrentSequenceValue in interface DatabaseInterfacegetSQLCurrentSequenceValue in class BaseDatabaseMetasequenceName - The sequence to checkpublic String getSQLSequenceExists(String sequenceName)
BaseDatabaseMetagetSQLSequenceExists in interface DatabaseInterfacegetSQLSequenceExists in class BaseDatabaseMetasequenceName - The sequence to checkpublic boolean supportsSequences()
supportsSequences in interface DatabaseInterfacesupportsSequences in class BaseDatabaseMetapublic boolean supportsSequenceNoMaxValueOption()
supportsSequenceNoMaxValueOption in interface DatabaseInterfacesupportsSequenceNoMaxValueOption in class BaseDatabaseMetapublic String getSQLListOfSequences()
getSQLListOfSequences in interface DatabaseInterfacegetSQLListOfSequences in class BaseDatabaseMetapublic String quoteSQLString(String string)
DatabaseInterfacequoteSQLString in interface DatabaseInterfacequoteSQLString in class BaseDatabaseMetastring - public Long getNextBatchIdUsingLockTables(DatabaseMeta dbm, Database ldb, String schemaName, String tableName, String fieldName) throws KettleDatabaseException
getNextBatchIdUsingLockTables in class BaseDatabaseMetaKettleDatabaseExceptionpublic boolean useSafePoints()
useSafePoints in interface DatabaseInterfaceuseSafePoints in class BaseDatabaseMetapublic boolean supportsErrorHandlingOnBatchUpdates()
supportsErrorHandlingOnBatchUpdates in interface DatabaseInterfacesupportsErrorHandlingOnBatchUpdates in class BaseDatabaseMetapublic int getMaxVARCHARLength()
BaseDatabaseMetagetMaxVARCHARLength in interface DatabaseInterfacegetMaxVARCHARLength in class BaseDatabaseMetaCopyright © 2020 Hitachi Vantara. All rights reserved.