Class SQLServerConnection

  • All Implemented Interfaces:
    ISQLServerConnection, Serializable, AutoCloseable, Connection, Wrapper
    Direct Known Subclasses:
    SQLServerConnection43

    public class SQLServerConnection
    extends Object
    implements ISQLServerConnection, Serializable
    Provides an implementation java.sql.connection interface that assists creating a JDBC connection to SQL Server. SQLServerConnections support JDBC connection pooling and may be either physical JDBC connections or logical JDBC connections. SQLServerConnection manages transaction control for all statements that were created from it. SQLServerConnection may participate in XA distributed transactions managed via an XAResource adapter. SQLServerConnection instantiates a new TDSChannel object for use by itself and all statement objects that are created under this connection. SQLServerConnection manages a pool of prepared statement handles. Prepared statements are prepared once and typically executed many times with different data values for their parameters. Prepared statements are also maintained across logical (pooled) connection closes. SQLServerConnection is not thread safe, however multiple statements created from a single connection can be processing simultaneously in concurrent threads. This class's public functions need to be kept identical to the SQLServerConnectionPoolProxy's. The API javadoc for JDBC API methods that this class implements are not repeated here. Please see Sun's JDBC API interfaces javadoc for those details. NOTE: All the public functions in this class also need to be defined in SQLServerConnectionPoolProxy Declare all new custom (non-static) Public APIs in ISQLServerConnection interface such that they can also be implemented by SQLServerConnectionPoolProxy
    See Also:
    Serialized Form
    • Method Detail

      • getUseBulkCopyForBatchInsert

        public boolean getUseBulkCopyForBatchInsert()
        Returns the useBulkCopyForBatchInsert value.
        Returns:
        flag for using Bulk Copy API for batch insert operations.
      • setUseBulkCopyForBatchInsert

        public void setUseBulkCopyForBatchInsert​(boolean useBulkCopyForBatchInsert)
        Specifies the flag for using Bulk Copy API for batch insert operations.
        Parameters:
        useBulkCopyForBatchInsert - boolean value for useBulkCopyForBatchInsert.
      • setDelayLoadingLobs

        public void setDelayLoadingLobs​(boolean b)
        Description copied from interface: ISQLServerConnection
        Specifies the flag to immediately load LOB objects into memory.
        Specified by:
        setDelayLoadingLobs in interface ISQLServerConnection
        Parameters:
        b - boolean value for 'delayLoadingLobs'.
      • registerColumnEncryptionKeyStoreProviders

        public static void registerColumnEncryptionKeyStoreProviders​(Map<String,​SQLServerColumnEncryptionKeyStoreProvider> clientKeyStoreProviders)
                                                              throws SQLServerException
        Registers key store providers in the globalCustomColumnEncryptionKeyStoreProviders.
        Parameters:
        clientKeyStoreProviders - a map containing the store providers information.
        Throws:
        SQLServerException - when an error occurs
      • unregisterColumnEncryptionKeyStoreProviders

        public static void unregisterColumnEncryptionKeyStoreProviders()
        Unregisters all the custom key store providers from the globalCustomColumnEncryptionKeyStoreProviders by clearing the map and setting it to null.
      • registerColumnEncryptionKeyStoreProvidersOnConnection

        public void registerColumnEncryptionKeyStoreProvidersOnConnection​(Map<String,​SQLServerColumnEncryptionKeyStoreProvider> clientKeyStoreProviders)
                                                                   throws SQLServerException
        Registers connection-level key store providers, replacing all existing providers.
        Parameters:
        clientKeyStoreProviders - a map containing the store providers information.
        Throws:
        SQLServerException - when an error occurs
      • setColumnEncryptionTrustedMasterKeyPaths

        public static void setColumnEncryptionTrustedMasterKeyPaths​(Map<String,​List<String>> trustedKeyPaths)
        Sets Trusted Master Key Paths in the columnEncryptionTrustedMasterKeyPaths.
        Parameters:
        trustedKeyPaths - all master key paths that are trusted
      • updateColumnEncryptionTrustedMasterKeyPaths

        public static void updateColumnEncryptionTrustedMasterKeyPaths​(String server,
                                                                       List<String> trustedKeyPaths)
        Updates the columnEncryptionTrustedMasterKeyPaths with the new Server and trustedKeyPaths.
        Parameters:
        server - String server name
        trustedKeyPaths - all master key paths that are trusted
      • removeColumnEncryptionTrustedMasterKeyPaths

        public static void removeColumnEncryptionTrustedMasterKeyPaths​(String server)
        Removes the trusted Master key Path from the columnEncryptionTrustedMasterKeyPaths.
        Parameters:
        server - String server name
      • getColumnEncryptionTrustedMasterKeyPaths

        public static Map<String,​List<String>> getColumnEncryptionTrustedMasterKeyPaths()
        Returns the Trusted Master Key Paths.
        Returns:
        columnEncryptionTrustedMasterKeyPaths.
      • clearUserTokenCache

        public static void clearUserTokenCache()
        Clears User token cache. This will clear all account info so interactive login will be required on the next request to acquire an access token.
      • getClientConnectionId

        public UUID getClientConnectionId()
                                   throws SQLServerException
        Description copied from interface: ISQLServerConnection
        Returns the connection ID of the most recent connection attempt, regardless of whether the attempt succeeded or failed.
        Specified by:
        getClientConnectionId in interface ISQLServerConnection
        Returns:
        16-byte GUID representing the connection ID of the most recent connection attempt. Or, NULL if there is a failure after the connection request is initiated and the pre-login handshake.
        Throws:
        SQLServerException - If any errors occur.
      • toString

        public String toString()
        Provides a helper function to return an ID string suitable for tracing.
        Overrides:
        toString in class Object
      • needsReconnect

        protected boolean needsReconnect()
        Returns if Federated Authentication is in use or is about to expire soon
        Returns:
        true/false
      • commit

        public void commit​(boolean delayedDurability)
                    throws SQLServerException
        Makes all changes made since the previous commit/rollback permanent and releases any database locks currently held by this Connection object. This method should be used only when auto-commit mode has been disabled.
        Parameters:
        delayedDurability - flag to indicate whether the commit will occur with delayed durability on.
        Throws:
        SQLServerException - Exception if a database access error occurs
      • createStatement

        public Statement createStatement​(int nType,
                                         int nConcur,
                                         int resultSetHoldability,
                                         SQLServerStatementColumnEncryptionSetting stmtColEncSetting)
                                  throws SQLServerException
        Description copied from interface: ISQLServerConnection
        Creates a Statement object that will generate ResultSet objects with the given type, concurrency, and holdability. This method is the same as the createStatement method above, but it allows the default result set type, concurrency, and holdability to be overridden.
        Specified by:
        createStatement in interface ISQLServerConnection
        Parameters:
        nType - one of the following ResultSet constants: ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVE
        nConcur - one of the following ResultSet constants: ResultSet.CONCUR_READ_ONLY or ResultSet.CONCUR_UPDATABLE
        resultSetHoldability - one of the following ResultSet constants: ResultSet.HOLD_CURSORS_OVER_COMMIT or ResultSet.CLOSE_CURSORS_AT_COMMIT
        stmtColEncSetting - Specifies how data will be sent and received when reading and writing encrypted columns.
        Returns:
        a new Statement object that will generate ResultSet objects with the given type, concurrency, and holdability
        Throws:
        SQLServerException - if a database access error occurs, this method is called on a closed connection or the given parameters are not ResultSet constants indicating type, concurrency, and holdability
      • prepareStatement

        public PreparedStatement prepareStatement​(String sql,
                                                  int nType,
                                                  int nConcur,
                                                  int resultSetHoldability,
                                                  SQLServerStatementColumnEncryptionSetting stmtColEncSetting)
                                           throws SQLServerException
        Description copied from interface: ISQLServerConnection
        Creates a PreparedStatement object that will generate ResultSet objects with the given type, concurrency, and holdability.

        This method is the same as the prepareStatement method above, but it allows the default result set type, concurrency, and holdability to be overridden.

        Specified by:
        prepareStatement in interface ISQLServerConnection
        Parameters:
        sql - a String object that is the SQL statement to be sent to the database; may contain one or more '?' IN parameters
        nType - one of the following ResultSet constants: ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVE
        nConcur - one of the following ResultSet constants: ResultSet.CONCUR_READ_ONLY or ResultSet.CONCUR_UPDATABLE
        resultSetHoldability - one of the following ResultSet constants: ResultSet.HOLD_CURSORS_OVER_COMMIT or ResultSet.CLOSE_CURSORS_AT_COMMIT
        stmtColEncSetting - Specifies how data will be sent and received when reading and writing encrypted columns.
        Returns:
        a new PreparedStatement object, containing the pre-compiled SQL statement, that will generate ResultSet objects with the given type, concurrency, and holdability
        Throws:
        SQLServerException - if a database access error occurs, this method is called on a closed connection or the given parameters are not ResultSet constants indicating type, concurrency, and holdability
      • prepareCall

        public CallableStatement prepareCall​(String sql,
                                             int nType,
                                             int nConcur,
                                             int resultSetHoldability,
                                             SQLServerStatementColumnEncryptionSetting stmtColEncSetiing)
                                      throws SQLServerException
        Description copied from interface: ISQLServerConnection
        Creates a CallableStatement object that will generate ResultSet objects with the given type and concurrency. This method is the same as the prepareCall method above, but it allows the default result set type, result set concurrency type and holdability to be overridden.
        Specified by:
        prepareCall in interface ISQLServerConnection
        Parameters:
        sql - a String object that is the SQL statement to be sent to the database; may contain on or more '?' parameters
        nType - one of the following ResultSet constants: ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVE
        nConcur - one of the following ResultSet constants: ResultSet.CONCUR_READ_ONLY or ResultSet.CONCUR_UPDATABLE
        resultSetHoldability - one of the following ResultSet constants: ResultSet.HOLD_CURSORS_OVER_COMMIT or ResultSet.CLOSE_CURSORS_AT_COMMIT
        stmtColEncSetiing - Specifies how data will be sent and received when reading and writing encrypted columns.
        Returns:
        a new CallableStatement object, containing the pre-compiled SQL statement, that will generate ResultSet objects with the given type, concurrency, and holdability
        Throws:
        SQLServerException - if a database access error occurs, this method is called on a closed connection or the given parameters are not ResultSet constants indicating type, concurrency, and holdability
      • prepareStatement

        public PreparedStatement prepareStatement​(String sql,
                                                  int flag,
                                                  SQLServerStatementColumnEncryptionSetting stmtColEncSetting)
                                           throws SQLServerException
        Description copied from interface: ISQLServerConnection
        Creates a default PreparedStatement object that has the capability to retrieve auto-generated keys. The given constant tells the driver whether it should make auto-generated keys available for retrieval. This parameter is ignored if the SQL statement is not an INSERT statement, or an SQL statement able to return auto-generated keys (the list of such statements is vendor-specific).

        Note: This method is optimized for handling parametric SQL statements that benefit from precompilation. If the driver supports precompilation, the method prepareStatement will send the statement to the database for precompilation. Some drivers may not support precompilation. In this case, the statement may not be sent to the database until the PreparedStatement object is executed. This has no direct effect on users; however, it does affect which methods throw certain SQLExceptions.

        Result sets created using the returned PreparedStatement object will by default be type TYPE_FORWARD_ONLY and have a concurrency level of CONCUR_READ_ONLY. The holdability of the created result sets can be determined by calling Connection.getHoldability().

        Specified by:
        prepareStatement in interface ISQLServerConnection
        Parameters:
        sql - an SQL statement that may contain one or more '?' IN parameter placeholders
        flag - a flag indicating whether auto-generated keys should be returned; one of Statement.RETURN_GENERATED_KEYS or Statement.NO_GENERATED_KEYS
        stmtColEncSetting - Specifies how data will be sent and received when reading and writing encrypted columns.
        Returns:
        a new PreparedStatement object, containing the pre-compiled SQL statement, that will have the capability of returning auto-generated keys
        Throws:
        SQLServerException - if a database access error occurs, this method is called on a closed connection or the given parameter is not a Statement constant indicating whether auto-generated keys should be returned
      • prepareStatement

        public PreparedStatement prepareStatement​(String sql,
                                                  int[] columnIndexes,
                                                  SQLServerStatementColumnEncryptionSetting stmtColEncSetting)
                                           throws SQLServerException
        Description copied from interface: ISQLServerConnection
        Creates a default PreparedStatement object capable of returning the auto-generated keys designated by the given array. This array contains the indexes of the columns in the target table that contain the auto-generated keys that should be made available. The driver will ignore the array if the SQL statement is not an INSERT statement, or an SQL statement able to return auto-generated keys (the list of such statements is vendor-specific).

        An SQL statement with or without IN parameters can be pre-compiled and stored in a PreparedStatement object. This object can then be used to efficiently execute this statement multiple times.

        Note: This method is optimized for handling parametric SQL statements that benefit from precompilation. If the driver supports precompilation, the method prepareStatement will send the statement to the database for precompilation. Some drivers may not support precompilation. In this case, the statement may not be sent to the database until the PreparedStatement object is executed. This has no direct effect on users; however, it does affect which methods throw certain SQLExceptions.

        Result sets created using the returned PreparedStatement object will by default be type TYPE_FORWARD_ONLY and have a concurrency level of CONCUR_READ_ONLY. The holdability of the created result sets can be determined by calling Connection.getHoldability().

        Specified by:
        prepareStatement in interface ISQLServerConnection
        Parameters:
        sql - an SQL statement that may contain one or more '?' IN parameter placeholders
        columnIndexes - an array of column indexes indicating the columns that should be returned from the inserted row or rows
        stmtColEncSetting - Specifies how data will be sent and received when reading and writing encrypted columns.
        Returns:
        a new PreparedStatement object, containing the pre-compiled statement, that is capable of returning the auto-generated keys designated by the given array of column indexes
        Throws:
        SQLServerException - if a database access error occurs or this method is called on a closed connection
      • prepareStatement

        public PreparedStatement prepareStatement​(String sql,
                                                  String[] columnNames,
                                                  SQLServerStatementColumnEncryptionSetting stmtColEncSetting)
                                           throws SQLServerException
        Description copied from interface: ISQLServerConnection
        Creates a default PreparedStatement object capable of returning the auto-generated keys designated by the given array. This array contains the names of the columns in the target table that contain the auto-generated keys that should be returned. The driver will ignore the array if the SQL statement is not an INSERT statement, or an SQL statement able to return auto-generated keys (the list of such statements is vendor-specific).

        An SQL statement with or without IN parameters can be pre-compiled and stored in a PreparedStatement object. This object can then be used to efficiently execute this statement multiple times.

        Note: This method is optimized for handling parametric SQL statements that benefit from precompilation. If the driver supports precompilation, the method prepareStatement will send the statement to the database for precompilation. Some drivers may not support precompilation. In this case, the statement may not be sent to the database until the PreparedStatement object is executed. This has no direct effect on users; however, it does affect which methods throw certain SQLExceptions.

        Result sets created using the returned PreparedStatement object will by default be type TYPE_FORWARD_ONLY and have a concurrency level of CONCUR_READ_ONLY. The holdability of the created result sets can be determined by calling Connection.getHoldability().

        Specified by:
        prepareStatement in interface ISQLServerConnection
        Parameters:
        sql - an SQL statement that may contain one or more '?' IN parameter placeholders
        columnNames - an array of column names indicating the columns that should be returned from the inserted row or rows
        stmtColEncSetting - Specifies how data will be sent and received when reading and writing encrypted columns.
        Returns:
        a new PreparedStatement object, containing the pre-compiled statement, that is capable of returning the auto-generated keys designated by the given array of column names
        Throws:
        SQLServerException - if a database access error occurs or this method is called on a closed connection
      • setSendTimeAsDatetime

        public void setSendTimeAsDatetime​(boolean sendTimeAsDateTimeValue)
        Description copied from interface: ISQLServerConnection
        Sets the value of the sendTimeAsDatetime connection property. When true, java.sql.Time values will be sent to the server as SQL Serverdatetime values. When false, java.sql.Time values will be sent to the server as SQL Servertime values. sendTimeAsDatetime can also be modified programmatically with SQLServerDataSource.setSendTimeAsDatetime. The default value for this property may change in a future release.
        Specified by:
        setSendTimeAsDatetime in interface ISQLServerConnection
        Parameters:
        sendTimeAsDateTimeValue - enables/disables setting the sendTimeAsDatetime connection property. For more information about how the Microsoft JDBC Driver for SQL Server configures java.sql.Time values before sending them to the server, see Configuring How java.sql.Time Values are Sent to the Server.
      • setDatetimeParameterType

        public void setDatetimeParameterType​(String datetimeParameterTypeValue)
                                      throws SQLServerException
        Description copied from interface: ISQLServerConnection
        Sets the value of the datetimeParameterType connection property, which controls how date and time parameters are sent to the server against SQL Server 2008+. This setting can affect server-side date conversions and comparisons during statement execution, particularly against SQL Server 2016+. By default, the value is set to "datetime2". Valid values are: datetime, datetime2 or datetimeoffset.
        Specified by:
        setDatetimeParameterType in interface ISQLServerConnection
        Parameters:
        datetimeParameterTypeValue - The datatype to use when encoding Java dates into SQL Server. Valid values are: datetime, datetime2 or datetimeoffset.
        Throws:
        SQLServerException - if a database access error occurs
      • setUseFmtOnly

        public void setUseFmtOnly​(boolean useFmtOnly)
        Description copied from interface: ISQLServerConnection
        Specifies the flag to use FMTONLY for parameter metadata queries.
        Specified by:
        setUseFmtOnly in interface ISQLServerConnection
        Parameters:
        useFmtOnly - boolean value for 'useFmtOnly'.
      • isValid

        public boolean isValid​(int timeout)
                        throws SQLException
        Determine whether the connection is still valid. The driver shall submit a query on the connection or use some other mechanism that positively verifies the connection is still valid when this method is called. The query submitted by the driver to validate the connection shall be executed in the context of the current transaction.
        Specified by:
        isValid in interface Connection
        Parameters:
        timeout - The time in seconds to wait for the database operation used to validate the connection to complete. If the timeout period expires before the operation completes, this method returns false. A value of 0 indicates a timeout is not applied to the database operation. Note that if the value is 0, the call to isValid may block indefinitely if the connection is not valid...
        Returns:
        true if the connection has not been closed and is still valid.
        Throws:
        SQLException - if the value supplied for the timeout is less than 0.
      • setColumnEncryptionKeyCacheTtl

        public static void setColumnEncryptionKeyCacheTtl​(int columnEncryptionKeyCacheTTL,
                                                          TimeUnit unit)
                                                   throws SQLServerException
        Sets time-to-live for column encryption key entries in the column encryption key cache for the Always Encrypted feature. The default value is 2 hours. This variable holds the value in seconds. This only applies to global-level key store providers. Connection and Statement-level providers need to set their own cache TTL values.
        Parameters:
        columnEncryptionKeyCacheTTL - The timeunit in seconds
        unit - The Timeunit
        Throws:
        SQLServerException - when an error occurs
      • getEnablePrepareOnFirstPreparedStatementCall

        public boolean getEnablePrepareOnFirstPreparedStatementCall()
        Description copied from interface: ISQLServerConnection
        Returns the behavior for a specific connection instance. If false the first execution will call sp_executesql and not prepare a statement, once the second execution happens it will call sp_prepexec and actually setup a prepared statement handle. Following executions will call sp_execute. This relieves the need for sp_unprepare on prepared statement close if the statement is only executed once. The default for this option can be changed by calling setDefaultEnablePrepareOnFirstPreparedStatementCall().
        Specified by:
        getEnablePrepareOnFirstPreparedStatementCall in interface ISQLServerConnection
        Returns:
        Returns the current setting per the description.
      • setEnablePrepareOnFirstPreparedStatementCall

        public void setEnablePrepareOnFirstPreparedStatementCall​(boolean value)
        Description copied from interface: ISQLServerConnection
        Sets the behavior for a specific connection instance. If value is false the first execution will call sp_executesql and not prepare a statement, once the second execution happens it will call sp_prepexec and actually setup a prepared statement handle. Following executions will call sp_execute. This relieves the need for sp_unprepare on prepared statement close if the statement is only executed once.
        Specified by:
        setEnablePrepareOnFirstPreparedStatementCall in interface ISQLServerConnection
        Parameters:
        value - Changes the setting per the description.
      • getPrepareMethod

        public String getPrepareMethod()
        Description copied from interface: ISQLServerConnection
        Returns the behavior for a specific connection instance. PrepareMethod
        Specified by:
        getPrepareMethod in interface ISQLServerConnection
        Returns:
        Returns current setting for prepareMethod connection property.
      • setPrepareMethod

        public void setPrepareMethod​(String prepareMethod)
        Description copied from interface: ISQLServerConnection
        Sets the behavior for the prepare method. PrepareMethod
        Specified by:
        setPrepareMethod in interface ISQLServerConnection
        Parameters:
        prepareMethod - Changes the setting as per description
      • getServerPreparedStatementDiscardThreshold

        public int getServerPreparedStatementDiscardThreshold()
        Description copied from interface: ISQLServerConnection
        Returns the behavior for a specific connection instance. This setting controls how many outstanding prepared statement discard actions (sp_unprepare) can be outstanding per connection before a call to clean-up the outstanding handles on the server is executed. If the setting is <= 1, unprepare actions will be executed immediately on prepared statement close. If it is set to > 1, these calls will be batched together to avoid overhead of calling sp_unprepare too often. The default for this option can be changed by calling getDefaultServerPreparedStatementDiscardThreshold().
        Specified by:
        getServerPreparedStatementDiscardThreshold in interface ISQLServerConnection
        Returns:
        Returns the current setting per the description.
      • setServerPreparedStatementDiscardThreshold

        public void setServerPreparedStatementDiscardThreshold​(int value)
        Description copied from interface: ISQLServerConnection
        Sets the behavior for a specific connection instance. This setting controls how many outstanding prepared statement discard actions (sp_unprepare) can be outstanding per connection before a call to clean-up the outstanding handles on the server is executed. If the setting is <= 1 unprepare actions will be executed immedietely on prepared statement close. If it is set to > 1 these calls will be batched together to avoid overhead of calling sp_unprepare too often.
        Specified by:
        setServerPreparedStatementDiscardThreshold in interface ISQLServerConnection
        Parameters:
        value - Changes the setting per the description.
      • getDisableStatementPooling

        public boolean getDisableStatementPooling()
        Description copied from interface: ISQLServerConnection
        Returns the value whether statement pooling is disabled.
        Specified by:
        getDisableStatementPooling in interface ISQLServerConnection
        Returns:
        true if statement pooling is disabled, false if it is enabled.
      • setDisableStatementPooling

        public void setDisableStatementPooling​(boolean value)
        Description copied from interface: ISQLServerConnection
        Sets the value to Disable/enable statement pooling.
        Specified by:
        setDisableStatementPooling in interface ISQLServerConnection
        Parameters:
        value - true to disable statement pooling, false to enable it.
      • getStatementPoolingCacheSize

        public int getStatementPoolingCacheSize()
        Description copied from interface: ISQLServerConnection
        Returns the size of the prepared statement cache for this connection. A value less than 1 means no cache.
        Specified by:
        getStatementPoolingCacheSize in interface ISQLServerConnection
        Returns:
        Returns the current setting per the description.
      • isStatementPoolingEnabled

        public boolean isStatementPoolingEnabled()
        Description copied from interface: ISQLServerConnection
        Returns whether statement pooling is enabled or not for this connection.
        Specified by:
        isStatementPoolingEnabled in interface ISQLServerConnection
        Returns:
        Returns the current setting per the description.
      • setStatementPoolingCacheSize

        public void setStatementPoolingCacheSize​(int value)
        Description copied from interface: ISQLServerConnection
        Sets the size of the prepared statement cache for this connection. A value less than 1 means no cache.
        Specified by:
        setStatementPoolingCacheSize in interface ISQLServerConnection
        Parameters:
        value - The new cache size.
      • getMsiTokenCacheTtl

        @Deprecated(since="12.1.0",
                    forRemoval=true)
        public int getMsiTokenCacheTtl()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Time-to-live is no longer supported for the cached Managed Identity tokens. This method will always return 0 and is for backwards compatibility only.
        Description copied from interface: ISQLServerConnection
        This method will always return 0 and is for backwards compatibility only.
        Specified by:
        getMsiTokenCacheTtl in interface ISQLServerConnection
        Returns:
        Method will always return 0.
      • setMsiTokenCacheTtl

        @Deprecated(since="12.1.0",
                    forRemoval=true)
        public void setMsiTokenCacheTtl​(int timeToLive)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Time-to-live is no longer supported for the cached Managed Identity tokens. This method is a no-op for backwards compatibility only.
        Description copied from interface: ISQLServerConnection
        Time-to-live is no longer supported for the cached Managed Identity tokens. This method is a no-op for backwards compatibility only.
        Specified by:
        setMsiTokenCacheTtl in interface ISQLServerConnection
        Parameters:
        timeToLive - Time-to-live is no longer supported.
      • setIPAddressPreference

        public void setIPAddressPreference​(String iPAddressPreference)
        Description copied from interface: ISQLServerConnection
        Sets the name of the preferred type of IP Address.
        Specified by:
        setIPAddressPreference in interface ISQLServerConnection
        Parameters:
        iPAddressPreference - A String that contains the preferred type of IP Address.