Module com.microsoft.sqlserver.jdbc
Package com.microsoft.sqlserver.jdbc

## Class SQLServerDataSource

- java.lang.Object
- - com.microsoft.sqlserver.jdbc.SQLServerDataSource

All Implemented Interfaces:
  `ISQLServerDataSource`, `Serializable`, `Wrapper`, `Referenceable`, `CommonDataSource`, `DataSource`

Direct Known Subclasses:
  `SQLServerConnectionPoolDataSource`

    public class SQLServerDataSource
    extends Object
    implements ISQLServerDataSource, DataSource, Serializable, Referenceable

Contains a list of properties specific for the `SQLServerConnection` class.

See Also:
  Serialized Form

### Constructor Summary

Constructors
`SQLServerDataSource()` Constructs a SQLServerDataSource.

### Method Summary

All Methods Instance Methods Concrete Methods Deprecated Methods
`String` `getAADSecurePrincipalId()` Deprecated, for removal: This API element is subject to removal in a future version.
`String` `getAccessToken()` Returns the access token.
`SQLServerAccessTokenCallback` `getAccessTokenCallback()` Returns a `SQLServerAccessTokenCallback`, the access token callback delegate.
`String` `getApplicationIntent()` Returns the application intent.
`String` `getApplicationName()` Returns the application name.
`String` `getAuthentication()` Returns the authentication mode.
`int` `getCancelQueryTimeout()` Returns the cancel timeout.
`String` `getClientCertificate()` Returns client certificate path for client certificate authentication.
`String` `getClientKey()` Returns Private key file path for client certificate authentication.
`String` `getColumnEncryptionSetting()` Returns the Always Encrypted functionality setting for the data source object.
`Connection` `getConnection()`
`Connection` `getConnection​(String username, String password)`
`int` `getConnectRetryCount()` Returns the maximum number of attempts set to reestablish a broken connection.
`int` `getConnectRetryInterval()` Returns the interval set, in seconds, between attempts to reestablish a broken connection.
`String` `getDatabaseName()` Returns the database name.
`String` `getDatetimeParameterType()` Returns the value of the datetimeParameterType connection property.
`boolean` `getDelayLoadingLobs()` Returns the current flag value for delayLoadingLobs.
`String` `getDescription()` Returns the DataSource description
`boolean` `getDisableStatementPooling()` Returns whether statement pooling is disabled.
`String` `getDomain()` Returns the value for the connection property 'domain'.
`boolean` `getEnablePrepareOnFirstPreparedStatementCall()` Returns the value that indicates whether the first execution of a prepared statement will call sp_executesql and not prepare a statement.
`String` `getEnclaveAttestationProtocol()` Returns the enclave attestation protocol used in Always Encrypted with Secure Enclaves.
`String` `getEnclaveAttestationUrl()` Returns the enclave attestation URL used in Always Encrypted with Secure Enclaves.
`String` `getEncrypt()` Returns the TLS encryption option.
`String` `getFailoverPartner()` Returns the name of the failover server that is used in a database mirroring configuration.
`boolean` `getFIPS()` Returns the value of connection property "fips".
`GSSCredential` `getGSSCredentials()` Returns the GSSCredential.
`String` `getHostNameInCertificate()` Returns the host name used in validating the SQL Server Secure Sockets Layer (SSL) certificate.
`String` `getInstanceName()` Returns the SQL Server instance name.
`String` `getIPAddressPreference()` Gets the preferred type of IP Address
`String` `getJAASConfigurationName()` Returns the login configuration file for Kerberos authentication.
`String` `getJASSConfigurationName()` Deprecated, for removal: This API element is subject to removal in a future version.
`String` `getKeyStoreAuthentication()` Returns the value of the keyStoreAuthentication setting for the data source object.
`String` `getKeyStoreLocation()` Returns the keyStoreLocation for the Java Key Store.
`String` `getKeyStorePrincipalId()` Returns the value for the connection property 'keyStorePrincipalId'.
`String` `getKeyVaultProviderClientId()` Returns the value for the connection property 'keyVaultProviderClientId'.
`boolean` `getLastUpdateCount()` Returns a Boolean value that indicates if the lastUpdateCount property is enabled.
`int` `getLockTimeout()` Returns an int value that indicates the number of milliseconds that the database will wait before reporting a lock time out.
`int` `getLoginTimeout()`
`PrintWriter` `getLogWriter()` Returns the log writer for this DataSource.
`String` `getMaxResultBuffer()` Returns value of 'maxResultBuffer' from Connection String.
`String` `getMSIClientId()` Deprecated, for removal: This API element is subject to removal in a future version. This method is deprecated.
`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.
`boolean` `getMultiSubnetFailover()` Returns the value of the multiSubnetFailover connection property.
`int` `getPacketSize()` Returns the current network packet size used to communicate with SQL Server, specified in bytes.
`Logger` `getParentLogger()`
`int` `getPortNumber()` Returns the current port number that is used to communicate with SQL Server.
`String` `getPrepareMethod()` Returns the value indicating the prepare method.
`int` `getQueryTimeout()` Returns the query timeout.
`String` `getRealm()` Returns the realm for Kerberos authentication.
`Reference` `getReference()`
`boolean` `getReplication()` Returns the value of the replication connection property.
`String` `getResponseBuffering()` Returns the response buffering mode for this SQLServerDataSource object.
`String` `getSelectMethod()` Returns the default cursor type used for all result sets that are created by using this SQLServerDataSource object.
`boolean` `getSendStringParametersAsUnicode()` Returns whether sending string parameters to the server in UNICODE format is enabled.
`boolean` `getSendTemporalDataTypesAsStringForBulkCopy()` Returns the current flag for value sendTemporalDataTypesAsStringForBulkCopy
`boolean` `getSendTimeAsDatetime()` Returns the value of the sendTimeAsDatetime connection property.
`String` `getServerCertificate()` Returns the path to the server certificate.
`String` `getServerName()` Returns the name of the SQL Server instance.
`boolean` `getServerNameAsACE()` Returns if the serverName should be translated from Unicode to ASCII Compatible Encoding (ACE).
`int` `getServerPreparedStatementDiscardThreshold()` Returns the value of the setting that 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.
`String` `getServerSpn()` Returns the server spn.
`String` `getSocketFactoryClass()` Returns the value for the connection property 'socketFactoryClass'.
`String` `getSocketFactoryConstructorArg()` Returns the value for the connection property 'socketFactoryConstructorArg'.
`int` `getSocketTimeout()` Returns the socket timeout value.
`String` `getSSLProtocol()` Returns the value of connection property 'sslProtocol'.
`int` `getStatementPoolingCacheSize()` Returns the size of the prepared statement cache for this connection.
`boolean` `getTransparentNetworkIPResolution()` Returns the TransparentNetworkIPResolution value.
`String` `getTrustManagerClass()` Returns the value for the connection property 'trustManagerClass'.
`String` `getTrustManagerConstructorArg()` Returns the value for the connection property 'trustManagerConstructorArg'.
`boolean` `getTrustServerCertificate()` Returns a boolean value that indicates if the trustServerCertificate property is enabled.
`String` `getTrustStore()` Returns the path (including file name) to the certificate trustStore file.
`String` `getTrustStoreType()` Returns the keyStore Type for the trustStore.
`String` `getURL()` Returns the URL that is used to connect to the data source.
`boolean` `getUseBulkCopyForBatchInsert()` Returns whether the use Bulk Copy API is used for Batch Insert.
`boolean` `getUseFmtOnly()` Returns the current flag value for useFmtOnly.
`String` `getUser()` Returns the user name that is used to connect the data source.
`String` `getWorkstationID()` Returns the name of the client computer name that is used to connect to the data source.
`boolean` `getXopenStates()` Returns the value that indicates if converting SQL states to XOPEN compliant states is enabled.
`boolean` `isWrapperFor​(Class<?> iface)`
`void` `setAADSecurePrincipalId​(String AADSecurePrincipalId)` Deprecated, for removal: This API element is subject to removal in a future version.
`void` `setAADSecurePrincipalSecret​(String AADSecurePrincipalSecret)` Deprecated, for removal: This API element is subject to removal in a future version.
`void` `setAccessToken​(String accessToken)` Sets the access token.
`void` `setAccessTokenCallback​(SQLServerAccessTokenCallback accessTokenCallback)` Sets the `SQLServerAccessTokenCallback` delegate.
`void` `setApplicationIntent​(String applicationIntent)` Sets the application intent.
`void` `setApplicationName​(String applicationName)` Sets the specific application in various SQL Server profiling and logging tools.
`void` `setAuthentication​(String authentication)` Sets the authentication mode.
`void` `setAuthenticationScheme​(String authenticationScheme)` Sets the kind of integrated security you want your application to use.
`void` `setCancelQueryTimeout​(int cancelQueryTimeout)` Sets the cancel timeout.
`void` `setClientCertificate​(String certPath)` Sets client certificate path for client certificate authentication.
`void` `setClientKey​(String keyPath)` Sets Private key file path for client certificate authentication.
`void` `setClientKeyPassword​(String password)` Sets the password to be used for Private key provided by the user for client certificate authentication.
`void` `setColumnEncryptionSetting​(String columnEncryptionSetting)` Sets the Column Encryption setting.
`void` `setConnectRetryCount​(int count)` Sets the maximum number of attempts to reestablish a broken connection.
`void` `setConnectRetryInterval​(int interval)` Sets the interval, in seconds, between attempts to reestablish a broken connection.
`void` `setDatabaseName​(String databaseName)` Sets the the database to connect to.
`void` `setDatetimeParameterType​(String datetimeParameterType)` Sets the SQL server datatype to use for Java datetime and timestamp values.
`void` `setDelayLoadingLobs​(boolean delayLoadingLobs)` Specifies the flag to load LOBs instead of streaming them.
`void` `setDescription​(String description)` Sets the DataSource description.
`void` `setDisableStatementPooling​(boolean disableStatementPooling)` Sets the value to disable/enable statement pooling.
`void` `setDomain​(String domain)` Sets the 'domain' connection property used for NTLM Authentication.
`void` `setEnablePrepareOnFirstPreparedStatementCall​(boolean enablePrepareOnFirstPreparedStatementCall)` Sets the value that enables/disables whether the first execution of a prepared statement will call sp_executesql and not prepare a statement.
`void` `setEnclaveAttestationProtocol​(String protocol)` Sets the enclave attestation protocol to be used in Always Encrypted with Secure Enclaves.
`void` `setEnclaveAttestationUrl​(String url)` Sets the enclave attestation URL used in Always Encrypted with Secure Enclaves.
`void` `setEncrypt​(boolean encryptOption)` Deprecated, for removal: This API element is subject to removal in a future version.
`void` `setEncrypt​(String encryptOption)` Sets the option whether TLS encryption is used.
`void` `setFailoverPartner​(String serverName)` Sets the fail over partner of the target SQL Server.
`void` `setFIPS​(boolean fips)` Sets whether Fips Mode should be enabled/disabled on the connection.
`void` `setGSSCredentials​(GSSCredential userCredential)` Sets the GSSCredential.
`void` `setHostNameInCertificate​(String hostName)` Sets the host name to be used in validating the SQL Server Secure Sockets Layer (SSL) certificate.
`void` `setInstanceName​(String instanceName)` Sets the the SQL Server instance name to connect to.
`void` `setIntegratedSecurity​(boolean enable)` Sets a Boolean value that indicates if the integratedSecurity property is enabled.
`void` `setIPAddressPreference​(String iPAddressPreference)` Set the preferred type of IP Address
`void` `setJAASConfigurationName​(String configurationName)` Sets the login configuration file for Kerberos authentication.
`void` `setJASSConfigurationName​(String configurationName)` Deprecated, for removal: This API element is subject to removal in a future version.
`void` `setKeyStoreAuthentication​(String keyStoreAuthentication)` Sets the name that identifies a key store.
`void` `setKeyStoreLocation​(String keyStoreLocation)` Sets the location including the file name for the Java keystore.
`void` `setKeyStorePrincipalId​(String keyStorePrincipalId)` Sets the value for the connection property 'keyStorePrincipalId'.
`void` `setKeyStoreSecret​(String keyStoreSecret)` Sets the password for the Java keystore.
`void` `setKeyVaultProviderClientId​(String keyVaultProviderClientId)` Sets the Azure Key Vault (AKV) Provider Client Id to provided value to be used for column encryption.
`void` `setKeyVaultProviderClientKey​(String keyVaultProviderClientKey)` Sets the Azure Key Vault (AKV) Provider Client Key to provided value to be used for column encryption.
`void` `setLastUpdateCount​(boolean lastUpdateCount)` Sets a Boolean value that indicates if the lastUpdateCount property is enabled.
`void` `setLockTimeout​(int lockTimeout)` Sets the lock timeout value.
`void` `setLoginTimeout​(int loginTimeout)` Sets the maximum time in seconds that this data source will wait while attempting to connect to a database.
`void` `setLogWriter​(PrintWriter out)`
`void` `setMaxResultBuffer​(String maxResultBuffer)` Sets the value for 'maxResultBuffer' property
`void` `setMSIClientId​(String managedIdentityClientId)` Deprecated, for removal: This API element is subject to removal in a future version. This method is deprecated.
`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.
`void` `setMultiSubnetFailover​(boolean multiSubnetFailover)` Sets the value of the multiSubnetFailover connection property.
`void` `setPacketSize​(int packetSize)` Sets the packet size.
`void` `setPassword​(String password)` Sets the password that will be used when connecting to SQL Server.
`void` `setPortNumber​(int portNumber)` Sets the TCP-IP port number used when opening a socket connection to SQL Server.
`void` `setPrepareMethod​(String prepareMethod)` Sets the behavior for the prepare method.
`void` `setQueryTimeout​(int queryTimeout)` Setting the query timeout.
`void` `setRealm​(String realm)` Sets the realm for Kerberos authentication.
`void` `setReplication​(boolean replication)` Sets the value to enable/disable the replication connection property.
`void` `setResponseBuffering​(String bufferingMode)` Sets the response buffering mode for connections created by using this SQLServerDataSource object.
`void` `setSelectMethod​(String selectMethod)` Sets the default cursor type used for the result set.
`void` `setSendStringParametersAsUnicode​(boolean sendStringParametersAsUnicode)` Sets whether string parameters are sent to the server in UNICODE format.
`void` `setSendTemporalDataTypesAsStringForBulkCopy​(boolean sendTemporalDataTypesAsStringForBulkCopy)` Specifies the flag to send temporal datatypes as String for Bulk Copy.
`void` `setSendTimeAsDatetime​(boolean sendTimeAsDatetime)` Sets the value to enable/disable the sendTimeAsDatetime connection property.
`void` `setServerCertificate​(String cert)` Sets the connection property 'serverCertificate' on the connection.
`void` `setServerName​(String serverName)` Sets the host name of the target SQL Server.
`void` `setServerNameAsACE​(boolean serverNameAsACE)` Sets whether the serverName will be translated from Unicode to ASCII Compatible Encoding (ACE).
`void` `setServerPreparedStatementDiscardThreshold​(int serverPreparedStatementDiscardThreshold)` Sets the value that 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.
`void` `setServerSpn​(String serverSpn)` Sets the Service Principal Name (SPN) of the target SQL Server.
`void` `setSocketFactoryClass​(String socketFactoryClass)` Sets the connection property 'socketFactoryClass' on the connection.
`void` `setSocketFactoryConstructorArg​(String socketFactoryConstructorArg)` Sets Constructor Arguments to be provided on constructor of 'socketFactoryClass'.
`void` `setSocketTimeout​(int socketTimeout)` Sets the socket timeout value.
`void` `setSSLProtocol​(String sslProtocol)` Sets the sslProtocol property for connection Set this value to specify TLS protocol keyword.
`void` `setStatementPoolingCacheSize​(int statementPoolingCacheSize)` Sets the size of the prepared statement cache for this connection.
`void` `setTransparentNetworkIPResolution​(boolean tnir)` Sets the value to enable/disable Transparent Network IP Resolution (TNIR).
`void` `setTrustManagerClass​(String trustManagerClass)` Sets the connection property 'trustManagerClass' on the connection.
`void` `setTrustManagerConstructorArg​(String trustManagerConstructorArg)` Sets Constructor Arguments to be provided on constructor of 'trustManagerClass'.
`void` `setTrustServerCertificate​(boolean e)` Sets a boolean value that indicates if the trustServerCertificate property is enabled.
`void` `setTrustStore​(String trustStore)` Sets the path (including file name) to the certificate trustStore file.
`void` `setTrustStorePassword​(String trustStorePassword)` Sets the password that is used to check the integrity of the trustStore data.
`void` `setTrustStoreType​(String trustStoreType)` Sets the keystore type for the trustStore.
`void` `setURL​(String url)` Sets the datasource URL.
`void` `setUseBulkCopyForBatchInsert​(boolean useBulkCopyForBatchInsert)` Sets whether the use Bulk Copy API should be used for Batch Insert.
`void` `setUseFmtOnly​(boolean useFmtOnly)` Specifies the flag to use FMTONLY for parameter metadata queries.
`void` `setUser​(String user)` Sets the user name that will be used when connecting to SQL Server.
`void` `setWorkstationID​(String workstationID)` Sets the name of the client machine (or client workstation).
`void` `setXopenStates​(boolean xopenStates)` Sets whether the driver will convert SQL states to XOPEN compliant states.
`String` `toString()`
`<T> T` `unwrap​(Class<T> iface)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface javax.sql.CommonDataSource

`createShardingKeyBuilder`

### Methods inherited from interface javax.sql.DataSource

`createConnectionBuilder`

### Constructor Detail

#### SQLServerDataSource

    public SQLServerDataSource()

Constructs a SQLServerDataSource.

### Method Detail

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`

#### getConnection

    public Connection getConnection()
                             throws SQLServerException

Specified by:
  `getConnection` in interface `DataSource`
Throws:
  `SQLServerException`

#### getConnection

    public Connection getConnection​(String username,
                                    String password)
                             throws SQLServerException

Specified by:
  `getConnection` in interface `DataSource`
Throws:
  `SQLServerException`

#### setLoginTimeout

    public void setLoginTimeout​(int loginTimeout)

Sets the maximum time in seconds that this data source will wait while attempting to connect to a database. Note default value is 0.

Specified by:
  `setLoginTimeout` in interface `CommonDataSource`
Specified by:
  `setLoginTimeout` in interface `DataSource`

#### getLoginTimeout

    public int getLoginTimeout()

Specified by:
  `getLoginTimeout` in interface `CommonDataSource`
Specified by:
  `getLoginTimeout` in interface `DataSource`

#### setLogWriter

    public void setLogWriter​(PrintWriter out)

Specified by:
  `setLogWriter` in interface `CommonDataSource`
Specified by:
  `setLogWriter` in interface `DataSource`

#### getLogWriter

    public PrintWriter getLogWriter()

Returns the log writer for this DataSource.

Specified by:
  `getLogWriter` in interface `CommonDataSource`
Specified by:
  `getLogWriter` in interface `DataSource`

#### getParentLogger

    public Logger getParentLogger()
                           throws SQLFeatureNotSupportedException

Specified by:
  `getParentLogger` in interface `CommonDataSource`
Throws:
  `SQLFeatureNotSupportedException`

#### setApplicationName

    public void setApplicationName​(String applicationName)

Sets the specific application in various SQL Server profiling and logging tools.

Specified by:
  `setApplicationName` in interface `ISQLServerDataSource`
Parameters:
  `applicationName` - A String that contains the name of the application.

#### getApplicationName

    public String getApplicationName()

Description copied from interface: `ISQLServerDataSource`
Returns the application name.

Specified by:
  `getApplicationName` in interface `ISQLServerDataSource`
Returns:
  A String that contains the application name, or "Microsoft JDBC Driver for SQL Server" if no value is set.

#### setDatabaseName

    public void setDatabaseName​(String databaseName)

Sets the the database to connect to.

Specified by:
  `setDatabaseName` in interface `ISQLServerDataSource`
Parameters:
  `databaseName` - if not set, returns the default value of null.

#### getDatabaseName

    public String getDatabaseName()

Description copied from interface: `ISQLServerDataSource`
Returns the database name.

Specified by:
  `getDatabaseName` in interface `ISQLServerDataSource`
Returns:
  A String that contains the database name or null if no value is set.

#### setInstanceName

    public void setInstanceName​(String instanceName)

Sets the the SQL Server instance name to connect to.

Specified by:
  `setInstanceName` in interface `ISQLServerDataSource`
Parameters:
  `instanceName` - if not set, returns the default value of null.

#### getInstanceName

    public String getInstanceName()

Description copied from interface: `ISQLServerDataSource`
Returns the SQL Server instance name.

Specified by:
  `getInstanceName` in interface `ISQLServerDataSource`
Returns:
  A String that contains the instance name, or null if no value is set.

#### setIntegratedSecurity

    public void setIntegratedSecurity​(boolean enable)

Description copied from interface: `ISQLServerDataSource`
Sets a Boolean value that indicates if the integratedSecurity property is enabled.

Specified by:
  `setIntegratedSecurity` in interface `ISQLServerDataSource`
Parameters:
  `enable` - true if integratedSecurity is enabled. Otherwise, false.

#### setAuthenticationScheme

    public void setAuthenticationScheme​(String authenticationScheme)

Description copied from interface: `ISQLServerDataSource`
Sets the kind of integrated security you want your application to use.

Specified by:
  `setAuthenticationScheme` in interface `ISQLServerDataSource`
Parameters:
  `authenticationScheme` - Values are "JavaKerberos" and the default "NativeAuthentication".

#### setAuthentication

    public void setAuthentication​(String authentication)

Description copied from interface: `ISQLServerDataSource`
Sets the authentication mode.

Specified by:
  `setAuthentication` in interface `ISQLServerDataSource`
Parameters:
  `authentication` - the authentication mode

#### getAuthentication

    public String getAuthentication()

Description copied from interface: `ISQLServerDataSource`
Returns the authentication mode.

Specified by:
  `getAuthentication` in interface `ISQLServerDataSource`
Returns:
  the authentication value

#### setGSSCredentials

    public void setGSSCredentials​(GSSCredential userCredential)

Description copied from interface: `ISQLServerDataSource`
Sets the GSSCredential.

Specified by:
  `setGSSCredentials` in interface `ISQLServerDataSource`
Parameters:
  `userCredential` - the credential

#### getGSSCredentials

    public GSSCredential getGSSCredentials()

Description copied from interface: `ISQLServerDataSource`
Returns the GSSCredential.

Specified by:
  `getGSSCredentials` in interface `ISQLServerDataSource`
Returns:
  GSSCredential

#### setAccessToken

    public void setAccessToken​(String accessToken)

Description copied from interface: `ISQLServerDataSource`
Sets the access token.

Specified by:
  `setAccessToken` in interface `ISQLServerDataSource`
Parameters:
  `accessToken` - to be set in the string property.

#### getAccessToken

    public String getAccessToken()

Description copied from interface: `ISQLServerDataSource`
Returns the access token.

Specified by:
  `getAccessToken` in interface `ISQLServerDataSource`
Returns:
  the access token.

#### setColumnEncryptionSetting

    public void setColumnEncryptionSetting​(String columnEncryptionSetting)

Sets the Column Encryption setting. If lastUpdateCount is set to true, the driver will return only the last update count from all the update counts returned by a batch. The default of false will return all update counts. If lastUpdateCount is not set, getLastUpdateCount returns the default value of false.

Specified by:
  `setColumnEncryptionSetting` in interface `ISQLServerDataSource`
Parameters:
  `columnEncryptionSetting` - Enables/disables Always Encrypted functionality for the data source object. The default is Disabled.

#### getColumnEncryptionSetting

    public String getColumnEncryptionSetting()

Description copied from interface: `ISQLServerDataSource`
Returns the Always Encrypted functionality setting for the data source object.

Specified by:
  `getColumnEncryptionSetting` in interface `ISQLServerDataSource`
Returns:
  the Always Encrypted functionality setting for the data source object.

#### setKeyStoreAuthentication

    public void setKeyStoreAuthentication​(String keyStoreAuthentication)

Description copied from interface: `ISQLServerDataSource`
Sets the name that identifies a key store. Only value supported is the "JavaKeyStorePassword" for identifying the Java Key Store. The default is null.

Specified by:
  `setKeyStoreAuthentication` in interface `ISQLServerDataSource`
Parameters:
  `keyStoreAuthentication` - the name that identifies a key store.

#### getKeyStoreAuthentication

    public String getKeyStoreAuthentication()

Description copied from interface: `ISQLServerDataSource`
Returns the value of the keyStoreAuthentication setting for the data source object.

Specified by:
  `getKeyStoreAuthentication` in interface `ISQLServerDataSource`
Returns:
  the value of the keyStoreAuthentication setting for the data source object.

#### setKeyStoreSecret

    public void setKeyStoreSecret​(String keyStoreSecret)

Description copied from interface: `ISQLServerDataSource`
Sets the password for the Java keystore. Note that, for Java Key Store provider the password for the keystore and the key must be the same. Note that, keyStoreAuthentication must be set with "JavaKeyStorePassword".

Specified by:
  `setKeyStoreSecret` in interface `ISQLServerDataSource`
Parameters:
  `keyStoreSecret` - the password to use for the keystore as well as for the key

#### setKeyStoreLocation

    public void setKeyStoreLocation​(String keyStoreLocation)

Description copied from interface: `ISQLServerDataSource`
Sets the location including the file name for the Java keystore. Note that, keyStoreAuthentication must be set with "JavaKeyStorePassword".

Specified by:
  `setKeyStoreLocation` in interface `ISQLServerDataSource`
Parameters:
  `keyStoreLocation` - the location including the file name for the Java keystore.

#### getKeyStoreLocation

    public String getKeyStoreLocation()

Description copied from interface: `ISQLServerDataSource`
Returns the keyStoreLocation for the Java Key Store.

Specified by:
  `getKeyStoreLocation` in interface `ISQLServerDataSource`
Returns:
  the keyStoreLocation for the Java Key Store.

#### setLastUpdateCount

    public void setLastUpdateCount​(boolean lastUpdateCount)

Description copied from interface: `ISQLServerDataSource`
Sets a Boolean value that indicates if the lastUpdateCount property is enabled.

Specified by:
  `setLastUpdateCount` in interface `ISQLServerDataSource`
Parameters:
  `lastUpdateCount` - true if lastUpdateCount is enabled. Otherwise, false.

#### getLastUpdateCount

    public boolean getLastUpdateCount()

Description copied from interface: `ISQLServerDataSource`
Returns a Boolean value that indicates if the lastUpdateCount property is enabled.

Specified by:
  `getLastUpdateCount` in interface `ISQLServerDataSource`
Returns:
  true if lastUpdateCount is enabled. Otherwise, false.

#### setEncrypt

    public void setEncrypt​(String encryptOption)

Description copied from interface: `ISQLServerDataSource`
Sets the option whether TLS encryption is used.

Specified by:
  `setEncrypt` in interface `ISQLServerDataSource`
Parameters:
  `encryptOption` - TLS encrypt option. Default is "true"

#### setEncrypt

    @Deprecated(since="10.1.0",
                forRemoval=true)
    public void setEncrypt​(boolean encryptOption)

Deprecated, for removal: This API element is subject to removal in a future version.
Description copied from interface: `ISQLServerDataSource`
Sets the option whether TLS encryption is used.

Specified by:
  `setEncrypt` in interface `ISQLServerDataSource`
Parameters:
  `encryptOption` - TLS encrypt option. Default is true

#### getEncrypt

    public String getEncrypt()

Description copied from interface: `ISQLServerDataSource`
Returns the TLS encryption option.

Specified by:
  `getEncrypt` in interface `ISQLServerDataSource`
Returns:
  the TLS encrypt option

#### setServerCertificate

    public void setServerCertificate​(String cert)

Description copied from interface: `ISQLServerDataSource`
Sets the connection property 'serverCertificate' on the connection.

Specified by:
  `setServerCertificate` in interface `ISQLServerDataSource`
Parameters:
  `cert` - The path to the server certificate.

#### getServerCertificate

    public String getServerCertificate()

Description copied from interface: `ISQLServerDataSource`
Returns the path to the server certificate.

Specified by:
  `getServerCertificate` in interface `ISQLServerDataSource`
Returns:
  serverCertificate property value

#### setTransparentNetworkIPResolution

    public void setTransparentNetworkIPResolution​(boolean tnir)

Description copied from interface: `ISQLServerDataSource`
Sets the value to enable/disable Transparent Network IP Resolution (TNIR). Beginning in version 6.0 of the Microsoft JDBC Driver for SQL Server, a new connection property transparentNetworkIPResolution (TNIR) is added for transparent connection to Always On availability groups or to a server which has multiple IP addresses associated. When transparentNetworkIPResolution is true, the driver attempts to connect to the first IP address available. If the first attempt fails, the driver tries to connect to all IP addresses in parallel until the timeout expires, discarding any pending connection attempts when one of them succeeds.

transparentNetworkIPResolution is ignored if multiSubnetFailover is true

transparentNetworkIPResolution is ignored if database mirroring is used

transparentNetworkIPResolution is ignored if there are more than 64 IP addresses

Specified by:
  `setTransparentNetworkIPResolution` in interface `ISQLServerDataSource`
Parameters:
  `tnir` - if set to true, the driver attempts to connect to the first IP address available. It is true by default.

#### getTransparentNetworkIPResolution

    public boolean getTransparentNetworkIPResolution()

Description copied from interface: `ISQLServerDataSource`
Returns the TransparentNetworkIPResolution value.

Specified by:
  `getTransparentNetworkIPResolution` in interface `ISQLServerDataSource`
Returns:
  if enabled, returns true. Otherwise, false.

#### setTrustServerCertificate

    public void setTrustServerCertificate​(boolean e)

Description copied from interface: `ISQLServerDataSource`
Sets a boolean value that indicates if the trustServerCertificate property is enabled.

Specified by:
  `setTrustServerCertificate` in interface `ISQLServerDataSource`
Parameters:
  `e` - true, if the server Secure Sockets Layer (SSL) certificate should be automatically trusted when the communication layer is encrypted using SSL. false, if server SLL certificate should not be trusted certificate location, if encrypt=strict

#### getTrustServerCertificate

    public boolean getTrustServerCertificate()

Description copied from interface: `ISQLServerDataSource`
Returns a boolean value that indicates if the trustServerCertificate property is enabled.

Specified by:
  `getTrustServerCertificate` in interface `ISQLServerDataSource`
Returns:
  true if trustServerCertificate is enabled. Otherwise, false. If encrypt=strict, returns server certificate location

#### setTrustStoreType

    public void setTrustStoreType​(String trustStoreType)

Description copied from interface: `ISQLServerDataSource`
Sets the keystore type for the trustStore.

Specified by:
  `setTrustStoreType` in interface `ISQLServerDataSource`
Parameters:
  `trustStoreType` - A String that contains the trust store type

#### getTrustStoreType

    public String getTrustStoreType()

Description copied from interface: `ISQLServerDataSource`
Returns the keyStore Type for the trustStore.

Specified by:
  `getTrustStoreType` in interface `ISQLServerDataSource`
Returns:
  trustStoreType A String that contains the trust store type

#### setTrustStore

    public void setTrustStore​(String trustStore)

Description copied from interface: `ISQLServerDataSource`
Sets the path (including file name) to the certificate trustStore file.

Specified by:
  `setTrustStore` in interface `ISQLServerDataSource`
Parameters:
  `trustStore` - A String that contains the path (including file name) to the certificate trustStore file.

#### getTrustStore

    public String getTrustStore()

Description copied from interface: `ISQLServerDataSource`
Returns the path (including file name) to the certificate trustStore file.

Specified by:
  `getTrustStore` in interface `ISQLServerDataSource`
Returns:
  trustStore A String that contains the path (including file name) to the certificate trustStore file, or null if no value is set.

#### setTrustStorePassword

    public void setTrustStorePassword​(String trustStorePassword)

Description copied from interface: `ISQLServerDataSource`
Sets the password that is used to check the integrity of the trustStore data.

Specified by:
  `setTrustStorePassword` in interface `ISQLServerDataSource`
Parameters:
  `trustStorePassword` - A String that contains the password that is used to check the integrity of the trustStore data.

#### setHostNameInCertificate

    public void setHostNameInCertificate​(String hostName)

Description copied from interface: `ISQLServerDataSource`
Sets the host name to be used in validating the SQL Server Secure Sockets Layer (SSL) certificate.

Specified by:
  `setHostNameInCertificate` in interface `ISQLServerDataSource`
Parameters:
  `hostName` - A String that contains the host name.

#### getHostNameInCertificate

    public String getHostNameInCertificate()

Description copied from interface: `ISQLServerDataSource`
Returns the host name used in validating the SQL Server Secure Sockets Layer (SSL) certificate.

Specified by:
  `getHostNameInCertificate` in interface `ISQLServerDataSource`
Returns:
  A String that contains the host name, or null if no value is set.

#### setLockTimeout

    public void setLockTimeout​(int lockTimeout)

Sets the lock timeout value.

Specified by:
  `setLockTimeout` in interface `ISQLServerDataSource`
Parameters:
  `lockTimeout` - the number of milliseconds to wait before the database reports a lock timeout. The default value of -1 means wait forever. If specified, this value will be the default for all statements on the connection. Note a value of 0 means no wait. If lockTimeout is not set, getLockTimeout returns the default of -1.

#### getLockTimeout

    public int getLockTimeout()

Description copied from interface: `ISQLServerDataSource`
Returns an int value that indicates the number of milliseconds that the database will wait before reporting a lock time out.

Specified by:
  `getLockTimeout` in interface `ISQLServerDataSource`
Returns:
  An int value that contains the number of milliseconds that the database will wait.

#### setPassword

    public void setPassword​(String password)

Sets the password that will be used when connecting to SQL Server.

Specified by:
  `setPassword` in interface `ISQLServerDataSource`
Parameters:
  `password` - Note getPassword is deliberately declared non-public for security reasons. If the password is not set, getPassword returns the default value of null.

#### setPortNumber

    public void setPortNumber​(int portNumber)

Sets the TCP-IP port number used when opening a socket connection to SQL Server.

Specified by:
  `setPortNumber` in interface `ISQLServerDataSource`
Parameters:
  `portNumber` - if not set, getPortNumber returns the default of 1433. Note as mentioned above, setPortNumber does not do any range checking on the port value passed in,\ invalid port numbers like 99999 can be passed in without triggering any error.

#### getPortNumber

    public int getPortNumber()

Description copied from interface: `ISQLServerDataSource`
Returns the current port number that is used to communicate with SQL Server.

Specified by:
  `getPortNumber` in interface `ISQLServerDataSource`
Returns:
  An int value that contains the current port number.

#### setSelectMethod

    public void setSelectMethod​(String selectMethod)

Sets the default cursor type used for the result set.

Specified by:
  `setSelectMethod` in interface `ISQLServerDataSource`
Parameters:
  `selectMethod` - This(non-Javadoc) @see com.microsoft.sqlserver.jdbc.ISQLServerDataSource#setSelectMethod(java.lang.String) property is useful when you are dealing with large result sets and do not want to store the whole result set in memory on the client side. By setting the property to "cursor" you will be able to create a server side cursor that can fetch smaller chunks of data at a time. If selectMethod is not set, getSelectMethod returns the default value of "direct".

#### getSelectMethod

    public String getSelectMethod()

Description copied from interface: `ISQLServerDataSource`
Returns the default cursor type used for all result sets that are created by using this SQLServerDataSource object.

Specified by:
  `getSelectMethod` in interface `ISQLServerDataSource`
Returns:
  A String value that contains the default cursor type.

#### setResponseBuffering

    public void setResponseBuffering​(String bufferingMode)

Description copied from interface: `ISQLServerDataSource`
Sets the response buffering mode for connections created by using this SQLServerDataSource object.

Specified by:
  `setResponseBuffering` in interface `ISQLServerDataSource`
Parameters:
  `bufferingMode` - A String that contains the buffering and streaming mode. The valid mode can be one of the following case-insensitive Strings: full or adaptive.

#### getResponseBuffering

    public String getResponseBuffering()

Description copied from interface: `ISQLServerDataSource`
Returns the response buffering mode for this SQLServerDataSource object.

Specified by:
  `getResponseBuffering` in interface `ISQLServerDataSource`
Returns:
  A String that contains a lower-case full or adaptive.

#### setApplicationIntent

    public void setApplicationIntent​(String applicationIntent)

Description copied from interface: `ISQLServerDataSource`
Sets the application intent.

Specified by:
  `setApplicationIntent` in interface `ISQLServerDataSource`
Parameters:
  `applicationIntent` - A String that contains the application intent.

#### getApplicationIntent

    public String getApplicationIntent()

Description copied from interface: `ISQLServerDataSource`
Returns the application intent.

Specified by:
  `getApplicationIntent` in interface `ISQLServerDataSource`
Returns:
  A String that contains the application intent.

#### setReplication

    public void setReplication​(boolean replication)

Description copied from interface: `ISQLServerDataSource`
Sets the value to enable/disable the replication connection property.

Specified by:
  `setReplication` in interface `ISQLServerDataSource`
Parameters:
  `replication` - A Boolean value. When true, tells the server that the connection is used for replication.

#### getReplication

    public boolean getReplication()

Description copied from interface: `ISQLServerDataSource`
Returns the value of the replication connection property.

Specified by:
  `getReplication` in interface `ISQLServerDataSource`
Returns:
  true if the connection is to be used for replication. Otherwise false.

#### setSendTimeAsDatetime

    public void setSendTimeAsDatetime​(boolean sendTimeAsDatetime)

Description copied from interface: `ISQLServerDataSource`
Sets the value to enable/disable the sendTimeAsDatetime connection property.

Specified by:
  `setSendTimeAsDatetime` in interface `ISQLServerDataSource`
Parameters:
  `sendTimeAsDatetime` - A Boolean value. When true, causes java.sql.Time values to be sent to the server as SQL Server datetime types. When false, causes java.sql.Time values to be sent to the server as SQL Server time types.

#### getSendTimeAsDatetime

    public boolean getSendTimeAsDatetime()

Description copied from interface: `ISQLServerDataSource`
Returns the value of the sendTimeAsDatetime connection property. This method was added in SQL Server JDBC Driver 3.0. Returns the setting of the sendTimeAsDatetime connection property.

Specified by:
  `getSendTimeAsDatetime` in interface `ISQLServerDataSource`
Returns:
  true if java.sql.Time values will be sent to the server as a SQL Server datetime type. false if java.sql.Time values will be sent to the server as a SQL Server time type.

#### setDatetimeParameterType

    public void setDatetimeParameterType​(String datetimeParameterType)

Description copied from interface: `ISQLServerDataSource`
Sets the SQL server datatype to use for Java datetime and timestamp values.

Specified by:
  `setDatetimeParameterType` in interface `ISQLServerDataSource`
Parameters:
  `datetimeParameterType` - The SQL datatype to use when encoding Java dates for SQL Server. Valid values are: datetime, datetime2 or datetimeoffset.

#### getDatetimeParameterType

    public String getDatetimeParameterType()

Description copied from interface: `ISQLServerDataSource`
Returns the value of the datetimeParameterType connection property. This method was added in SQL Server JDBC Driver 12.2. Returns the setting of the datetimeParameterType connection property.

Specified by:
  `getDatetimeParameterType` in interface `ISQLServerDataSource`
Returns:
  Returns the value of the datetimeParameterType property.

#### setUseFmtOnly

    public void setUseFmtOnly​(boolean useFmtOnly)

Description copied from interface: `ISQLServerDataSource`
Specifies the flag to use FMTONLY for parameter metadata queries.

Specified by:
  `setUseFmtOnly` in interface `ISQLServerDataSource`
Parameters:
  `useFmtOnly` - boolean value for 'useFmtOnly'.

#### getUseFmtOnly

    public boolean getUseFmtOnly()

Description copied from interface: `ISQLServerDataSource`
Returns the current flag value for useFmtOnly.

Specified by:
  `getUseFmtOnly` in interface `ISQLServerDataSource`
Returns:
  'useFmtOnly' property value.

#### setDelayLoadingLobs

    public void setDelayLoadingLobs​(boolean delayLoadingLobs)

Description copied from interface: `ISQLServerDataSource`
Specifies the flag to load LOBs instead of streaming them.

Specified by:
  `setDelayLoadingLobs` in interface `ISQLServerDataSource`
Parameters:
  `delayLoadingLobs` - boolean value for 'delayLoadingLobs'.

#### getDelayLoadingLobs

    public boolean getDelayLoadingLobs()

Description copied from interface: `ISQLServerDataSource`
Returns the current flag value for delayLoadingLobs.

Specified by:
  `getDelayLoadingLobs` in interface `ISQLServerDataSource`
Returns:
  'delayLoadingLobs' property value.

#### setSendStringParametersAsUnicode

    public void setSendStringParametersAsUnicode​(boolean sendStringParametersAsUnicode)

Sets whether string parameters are sent to the server in UNICODE format.

Specified by:
  `setSendStringParametersAsUnicode` in interface `ISQLServerDataSource`
Parameters:
  `sendStringParametersAsUnicode` - if true (default), string parameters are sent to the server in UNICODE format. if false, string parameters are sent to the server in the native TDS collation format of the database, not in UNICODE. if set, returns the default of true.

#### getSendStringParametersAsUnicode

    public boolean getSendStringParametersAsUnicode()

Description copied from interface: `ISQLServerDataSource`
Returns whether sending string parameters to the server in UNICODE format is enabled.

Specified by:
  `getSendStringParametersAsUnicode` in interface `ISQLServerDataSource`
Returns:
  true if string parameters are sent to the server in UNICODE format. Otherwise, false.

#### setServerNameAsACE

    public void setServerNameAsACE​(boolean serverNameAsACE)

Description copied from interface: `ISQLServerDataSource`
Sets whether the serverName will be translated from Unicode to ASCII Compatible Encoding (ACE).

Specified by:
  `setServerNameAsACE` in interface `ISQLServerDataSource`
Parameters:
  `serverNameAsACE` - if enabled the servername will be translated to ASCII Compatible Encoding (ACE)

#### getServerNameAsACE

    public boolean getServerNameAsACE()

Description copied from interface: `ISQLServerDataSource`
Returns if the serverName should be translated from Unicode to ASCII Compatible Encoding (ACE).

Specified by:
  `getServerNameAsACE` in interface `ISQLServerDataSource`
Returns:
  if enabled, will return true. Otherwise, false.

#### setServerName

    public void setServerName​(String serverName)

Sets the host name of the target SQL Server.

Specified by:
  `setServerName` in interface `ISQLServerDataSource`
Parameters:
  `serverName` - if not set, returns the default value of null is returned.

#### getServerName

    public String getServerName()

Description copied from interface: `ISQLServerDataSource`
Returns the name of the SQL Server instance.

Specified by:
  `getServerName` in interface `ISQLServerDataSource`
Returns:
  A String that contains the server name or null if no value is set.

#### setIPAddressPreference

    public void setIPAddressPreference​(String iPAddressPreference)

Set the preferred type of IP Address

Specified by:
  `setIPAddressPreference` in interface `ISQLServerDataSource`
Parameters:
  `iPAddressPreference` - Preferred IP Address type

#### getIPAddressPreference

    public String getIPAddressPreference()

Gets the preferred type of IP Address

Specified by:
  `getIPAddressPreference` in interface `ISQLServerDataSource`
Returns:
  IPAddressPreference A String that contains the preferred type of IP Address.

#### setRealm

    public void setRealm​(String realm)

Sets the realm for Kerberos authentication.

Specified by:
  `setRealm` in interface `ISQLServerDataSource`
Parameters:
  `realm` - realm

#### getRealm

    public String getRealm()

Description copied from interface: `ISQLServerDataSource`
Returns the realm for Kerberos authentication.

Specified by:
  `getRealm` in interface `ISQLServerDataSource`
Returns:
  A String that contains the realm

#### setServerSpn

    public void setServerSpn​(String serverSpn)

Sets the Service Principal Name (SPN) of the target SQL Server. https://msdn.microsoft.com/en-us/library/cc280459.aspx

Specified by:
  `setServerSpn` in interface `ISQLServerDataSource`
Parameters:
  `serverSpn` - service principal name

#### getServerSpn

    public String getServerSpn()

Description copied from interface: `ISQLServerDataSource`
Returns the server spn.

Specified by:
  `getServerSpn` in interface `ISQLServerDataSource`
Returns:
  A String that contains the server spn

#### setFailoverPartner

    public void setFailoverPartner​(String serverName)

Sets the fail over partner of the target SQL Server.

Specified by:
  `setFailoverPartner` in interface `ISQLServerDataSource`
Parameters:
  `serverName` - if not set, returns the default value of null.

#### getFailoverPartner

    public String getFailoverPartner()

Description copied from interface: `ISQLServerDataSource`
Returns the name of the failover server that is used in a database mirroring configuration.

Specified by:
  `getFailoverPartner` in interface `ISQLServerDataSource`
Returns:
  A String that contains the name of the failover partner, or null if none is set.

#### setMultiSubnetFailover

    public void setMultiSubnetFailover​(boolean multiSubnetFailover)

Description copied from interface: `ISQLServerDataSource`
Sets the value of the multiSubnetFailover connection property.

Specified by:
  `setMultiSubnetFailover` in interface `ISQLServerDataSource`
Parameters:
  `multiSubnetFailover` - The new value of the multiSubnetFailover connection property.

#### getMultiSubnetFailover

    public boolean getMultiSubnetFailover()

Description copied from interface: `ISQLServerDataSource`
Returns the value of the multiSubnetFailover connection property.

Specified by:
  `getMultiSubnetFailover` in interface `ISQLServerDataSource`
Returns:
  Returns true or false, depending on the current setting of the connection property.

#### setUser

    public void setUser​(String user)

Sets the user name that will be used when connecting to SQL Server.

Specified by:
  `setUser` in interface `ISQLServerDataSource`
Parameters:
  `user` - if not set, returns the default value of null.

#### getUser

    public String getUser()

Description copied from interface: `ISQLServerDataSource`
Returns the user name that is used to connect the data source.

Specified by:
  `getUser` in interface `ISQLServerDataSource`
Returns:
  A String that contains the user name.

#### setWorkstationID

    public void setWorkstationID​(String workstationID)

Sets the name of the client machine (or client workstation).

Specified by:
  `setWorkstationID` in interface `ISQLServerDataSource`
Parameters:
  `workstationID` - host name of the client. if not set, the default value is constructed by calling InetAddress.getLocalHost().getHostName() or if getHostName() returns blank then getHostAddress().toString().

#### getWorkstationID

    public String getWorkstationID()

Description copied from interface: `ISQLServerDataSource`
Returns the name of the client computer name that is used to connect to the data source.

Specified by:
  `getWorkstationID` in interface `ISQLServerDataSource`
Returns:
  A String that contains the client computer name.

#### setXopenStates

    public void setXopenStates​(boolean xopenStates)

Sets whether the driver will convert SQL states to XOPEN compliant states.

Specified by:
  `setXopenStates` in interface `ISQLServerDataSource`
Parameters:
  `xopenStates` - if true, the driver will convert SQL states to XOPEN compliant states. The default is false which causes the driver to generate SQL 99 state codes. If not set, getXopenStates returns the default value of false.

#### getXopenStates

    public boolean getXopenStates()

Description copied from interface: `ISQLServerDataSource`
Returns the value that indicates if converting SQL states to XOPEN compliant states is enabled.

Specified by:
  `getXopenStates` in interface `ISQLServerDataSource`
Returns:
  true if converting SQL states to XOPEN compliant states is enabled. Otherwise, false.

#### setFIPS

    public void setFIPS​(boolean fips)

Description copied from interface: `ISQLServerDataSource`
Sets whether Fips Mode should be enabled/disabled on the connection. For FIPS enabled JVM this property should be true.

Specified by:
  `setFIPS` in interface `ISQLServerDataSource`
Parameters:
  `fips` - Boolean property to enable/disable fips

#### getFIPS

    public boolean getFIPS()

Description copied from interface: `ISQLServerDataSource`
Returns the value of connection property "fips". For FIPS enabled JVM this property should be true.

Specified by:
  `getFIPS` in interface `ISQLServerDataSource`
Returns:
  fips boolean value

#### getSocketFactoryClass

    public String getSocketFactoryClass()

Description copied from interface: `ISQLServerDataSource`
Returns the value for the connection property 'socketFactoryClass'.

Specified by:
  `getSocketFactoryClass` in interface `ISQLServerDataSource`
Returns:
  socketFactoryClass property value

#### setSocketFactoryClass

    public void setSocketFactoryClass​(String socketFactoryClass)

Description copied from interface: `ISQLServerDataSource`
Sets the connection property 'socketFactoryClass' on the connection.

Specified by:
  `setSocketFactoryClass` in interface `ISQLServerDataSource`
Parameters:
  `socketFactoryClass` - The fully qualified class name of a custom javax.net.SocketFactory.

#### getSocketFactoryConstructorArg

    public String getSocketFactoryConstructorArg()

Description copied from interface: `ISQLServerDataSource`
Returns the value for the connection property 'socketFactoryConstructorArg'.

Specified by:
  `getSocketFactoryConstructorArg` in interface `ISQLServerDataSource`
Returns:
  socketFactoryConstructorArg property value

#### setSocketFactoryConstructorArg

    public void setSocketFactoryConstructorArg​(String socketFactoryConstructorArg)

Description copied from interface: `ISQLServerDataSource`
Sets Constructor Arguments to be provided on constructor of 'socketFactoryClass'.

Specified by:
  `setSocketFactoryConstructorArg` in interface `ISQLServerDataSource`
Parameters:
  `socketFactoryConstructorArg` - 'socketFactoryClass' constructor arguments

#### setSSLProtocol

    public void setSSLProtocol​(String sslProtocol)

Description copied from interface: `ISQLServerDataSource`
Sets the sslProtocol property for connection Set this value to specify TLS protocol keyword. Acceptable values are: TLS, TLSv1, TLSv1.1, and TLSv1.2.

Specified by:
  `setSSLProtocol` in interface `ISQLServerDataSource`
Parameters:
  `sslProtocol` - Value for SSL Protocol to be set.

#### getSSLProtocol

    public String getSSLProtocol()

Description copied from interface: `ISQLServerDataSource`
Returns the value of connection property 'sslProtocol'.

Specified by:
  `getSSLProtocol` in interface `ISQLServerDataSource`
Returns:
  sslProtocol property value

#### setTrustManagerClass

    public void setTrustManagerClass​(String trustManagerClass)

Description copied from interface: `ISQLServerDataSource`
Sets the connection property 'trustManagerClass' on the connection.

Specified by:
  `setTrustManagerClass` in interface `ISQLServerDataSource`
Parameters:
  `trustManagerClass` - The fully qualified class name of a custom javax.net.ssl.TrustManager.

#### getTrustManagerClass

    public String getTrustManagerClass()

Description copied from interface: `ISQLServerDataSource`
Returns the value for the connection property 'trustManagerClass'.

Specified by:
  `getTrustManagerClass` in interface `ISQLServerDataSource`
Returns:
  trustManagerClass property value

#### setTrustManagerConstructorArg

    public void setTrustManagerConstructorArg​(String trustManagerConstructorArg)

Description copied from interface: `ISQLServerDataSource`
Sets Constructor Arguments to be provided on constructor of 'trustManagerClass'.

Specified by:
  `setTrustManagerConstructorArg` in interface `ISQLServerDataSource`
Parameters:
  `trustManagerConstructorArg` - 'trustManagerClass' constructor arguments

#### getTrustManagerConstructorArg

    public String getTrustManagerConstructorArg()

Description copied from interface: `ISQLServerDataSource`
Returns the value for the connection property 'trustManagerConstructorArg'.

Specified by:
  `getTrustManagerConstructorArg` in interface `ISQLServerDataSource`
Returns:
  trustManagerConstructorArg property value

#### setURL

    public void setURL​(String url)

Sets the datasource URL.

Specified by:
  `setURL` in interface `ISQLServerDataSource`
Parameters:
  `url` - The URL property is exposed for backwards compatibility reasons. Also, several Java Application servers expect a setURL function on the DataSource and set it by default (JBoss and WebLogic) Note for security reasons we do not recommend that customers include the password in the url supplied to setURL. The reason for this is third-party Java Application Servers will very often display the value set to URL property in their DataSource configuration GUI. We recommend instead that clients use the setPassword method to set the password value. The Java Application Servers will not display a password that is set on the DataSource in the configuration GUI. Note if setURL is not called, getURL returns the default value of "jdbc:sqlserver://".

#### getURL

    public String getURL()

Description copied from interface: `ISQLServerDataSource`
Returns the URL that is used to connect to the data source.

Specified by:
  `getURL` in interface `ISQLServerDataSource`
Returns:
  A String that contains the URL.

#### setDescription

    public void setDescription​(String description)

Sets the DataSource description. Per JDBC specification 16.1.1 "...the only property that all DataSource implementations are required to support is the description property".

Specified by:
  `setDescription` in interface `ISQLServerDataSource`
Parameters:
  `description` - A String that contains the description.

#### getDescription

    public String getDescription()

Returns the DataSource description

Specified by:
  `getDescription` in interface `ISQLServerDataSource`
Returns:
  A String that contains the data source description or null if no value is set.

#### setPacketSize

    public void setPacketSize​(int packetSize)

Sets the packet size.

Specified by:
  `setPacketSize` in interface `ISQLServerDataSource`
Parameters:
  `packetSize` - the size (in bytes) to use for the TCP/IP send and receive buffer. It is also the value used for the TDS packet size (SQL Server Network Packet Size). Validity of the value is checked at connect time. If no value is set for this property, its default value is 4KB.

#### getPacketSize

    public int getPacketSize()

Description copied from interface: `ISQLServerDataSource`
Returns the current network packet size used to communicate with SQL Server, specified in bytes.

Specified by:
  `getPacketSize` in interface `ISQLServerDataSource`
Returns:
  An int value containing the current network packet size.

#### setQueryTimeout

    public void setQueryTimeout​(int queryTimeout)

Description copied from interface: `ISQLServerDataSource`
Setting the query timeout.

Specified by:
  `setQueryTimeout` in interface `ISQLServerDataSource`
Parameters:
  `queryTimeout` - The number of seconds to wait before a timeout has occurred on a query. The default value is 0, which means infinite timeout.

#### getQueryTimeout

    public int getQueryTimeout()

Description copied from interface: `ISQLServerDataSource`
Returns the query timeout.

Specified by:
  `getQueryTimeout` in interface `ISQLServerDataSource`
Returns:
  The number of seconds to wait before a timeout has occurred on a query.

#### setCancelQueryTimeout

    public void setCancelQueryTimeout​(int cancelQueryTimeout)

Description copied from interface: `ISQLServerDataSource`
Sets the cancel timeout.

Specified by:
  `setCancelQueryTimeout` in interface `ISQLServerDataSource`
Parameters:
  `cancelQueryTimeout` - The number of seconds to wait before we wait for the query timeout to happen.

#### getCancelQueryTimeout

    public int getCancelQueryTimeout()

Description copied from interface: `ISQLServerDataSource`
Returns the cancel timeout.

Specified by:
  `getCancelQueryTimeout` in interface `ISQLServerDataSource`
Returns:
  the number of seconds to wait before we wait for the query timeout to happen.

#### setEnablePrepareOnFirstPreparedStatementCall

    public void setEnablePrepareOnFirstPreparedStatementCall​(boolean enablePrepareOnFirstPreparedStatementCall)

Description copied from interface: `ISQLServerDataSource`
Sets the value that enables/disables whether the first execution of a prepared statement will call sp_executesql and not prepare a statement. If this configuration is false the first execution of a prepared statement 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 `ISQLServerDataSource`
Parameters:
  `enablePrepareOnFirstPreparedStatementCall` - Changes the setting per the description.

#### getEnablePrepareOnFirstPreparedStatementCall

    public boolean getEnablePrepareOnFirstPreparedStatementCall()

Description copied from interface: `ISQLServerDataSource`
Returns the value that indicates whether the first execution of a prepared statement will call sp_executesql and not prepare a statement. If this configuration returns false the first execution of a prepared statement 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:
  `getEnablePrepareOnFirstPreparedStatementCall` in interface `ISQLServerDataSource`
Returns:
  Returns the current setting per the description.

#### setServerPreparedStatementDiscardThreshold

    public void setServerPreparedStatementDiscardThreshold​(int serverPreparedStatementDiscardThreshold)

Description copied from interface: `ISQLServerDataSource`
Sets the value that 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 `ISQLServerDataSource`
Parameters:
  `serverPreparedStatementDiscardThreshold` - Changes the setting per the description.

#### getServerPreparedStatementDiscardThreshold

    public int getServerPreparedStatementDiscardThreshold()

Description copied from interface: `ISQLServerDataSource`
Returns the value of the setting that 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.

Specified by:
  `getServerPreparedStatementDiscardThreshold` in interface `ISQLServerDataSource`
Returns:
  Returns the current setting per the description.

#### setStatementPoolingCacheSize

    public void setStatementPoolingCacheSize​(int statementPoolingCacheSize)

Description copied from interface: `ISQLServerDataSource`
Sets the size of the prepared statement cache for this connection. A value less than 1 means no cache.

Specified by:
  `setStatementPoolingCacheSize` in interface `ISQLServerDataSource`
Parameters:
  `statementPoolingCacheSize` - Changes the setting per the description.

#### getStatementPoolingCacheSize

    public int getStatementPoolingCacheSize()

Description copied from interface: `ISQLServerDataSource`
Returns the size of the prepared statement cache for this connection. A value less than 1 means no cache.

Specified by:
  `getStatementPoolingCacheSize` in interface `ISQLServerDataSource`
Returns:
  Returns the current setting per the description.

#### setDisableStatementPooling

    public void setDisableStatementPooling​(boolean disableStatementPooling)

Description copied from interface: `ISQLServerDataSource`
Sets the value to disable/enable statement pooling.

Specified by:
  `setDisableStatementPooling` in interface `ISQLServerDataSource`
Parameters:
  `disableStatementPooling` - true to disable statement pooling, false to enable it.

#### getDisableStatementPooling

    public boolean getDisableStatementPooling()

Description copied from interface: `ISQLServerDataSource`
Returns whether statement pooling is disabled.

Specified by:
  `getDisableStatementPooling` in interface `ISQLServerDataSource`
Returns:
  true if statement pooling is disabled, false if it is enabled.

#### setSocketTimeout

    public void setSocketTimeout​(int socketTimeout)

Description copied from interface: `ISQLServerDataSource`
Sets the socket timeout value.

Specified by:
  `setSocketTimeout` in interface `ISQLServerDataSource`
Parameters:
  `socketTimeout` - The number of milliseconds to wait before a timeout is occurred on a socket read or accept. The default value is 0, which means infinite timeout.

#### getSocketTimeout

    public int getSocketTimeout()

Description copied from interface: `ISQLServerDataSource`
Returns the socket timeout value.

Specified by:
  `getSocketTimeout` in interface `ISQLServerDataSource`
Returns:
  The number of milliseconds to wait before a timeout is occurred on a socket read or accept.

#### setUseBulkCopyForBatchInsert

    public void setUseBulkCopyForBatchInsert​(boolean useBulkCopyForBatchInsert)

Description copied from interface: `ISQLServerDataSource`
Sets whether the use Bulk Copy API should be used for Batch Insert.

Specified by:
  `setUseBulkCopyForBatchInsert` in interface `ISQLServerDataSource`
Parameters:
  `useBulkCopyForBatchInsert` - indicates whether Bulk Copy API should be used for Batch Insert operations.

#### getUseBulkCopyForBatchInsert

    public boolean getUseBulkCopyForBatchInsert()

Description copied from interface: `ISQLServerDataSource`
Returns whether the use Bulk Copy API is used for Batch Insert.

Specified by:
  `getUseBulkCopyForBatchInsert` in interface `ISQLServerDataSource`
Returns:
  whether the driver should use Bulk Copy API for Batch Insert operations.

#### setJASSConfigurationName

    @Deprecated(since="9.3.0",
                forRemoval=true)
    public void setJASSConfigurationName​(String configurationName)

Deprecated, for removal: This API element is subject to removal in a future version.
Description copied from interface: `ISQLServerDataSource`
Sets the login configuration file for Kerberos authentication. This overrides the default configuration SQLJDBCDriver

Specified by:
  `setJASSConfigurationName` in interface `ISQLServerDataSource`
Parameters:
  `configurationName` - the configuration name

#### getJASSConfigurationName

    @Deprecated(since="9.3.0",
                forRemoval=true)
    public String getJASSConfigurationName()

Deprecated, for removal: This API element is subject to removal in a future version.
Description copied from interface: `ISQLServerDataSource`
Returns the login configuration file for Kerberos authentication.

Specified by:
  `getJASSConfigurationName` in interface `ISQLServerDataSource`
Returns:
  login configuration file name

#### setJAASConfigurationName

    public void setJAASConfigurationName​(String configurationName)

Description copied from interface: `ISQLServerDataSource`
Sets the login configuration file for Kerberos authentication. This overrides the default configuration SQLJDBCDriver

Specified by:
  `setJAASConfigurationName` in interface `ISQLServerDataSource`
Parameters:
  `configurationName` - the configuration name

#### getJAASConfigurationName

    public String getJAASConfigurationName()

Description copied from interface: `ISQLServerDataSource`
Returns the login configuration file for Kerberos authentication.

Specified by:
  `getJAASConfigurationName` in interface `ISQLServerDataSource`
Returns:
  login configuration file name

#### setMSIClientId

    @Deprecated(since="12.1.0",
                forRemoval=true)
    public void setMSIClientId​(String managedIdentityClientId)

Deprecated, for removal: This API element is subject to removal in a future version.
This method is deprecated. Use `setUser(String user)` instead. Sets the client id to be used to retrieve the access token for a user-assigned Managed Identity.
Description copied from interface: `ISQLServerDataSource`
Sets the client id to be used to retrieve the access token for a user-assigned Managed Identity.

Specified by:
  `setMSIClientId` in interface `ISQLServerDataSource`
Parameters:
  `managedIdentityClientId` - Client ID of the user-assigned Managed Identity.

#### getMSIClientId

    @Deprecated(since="12.1.0",
                forRemoval=true)
    public String getMSIClientId()

Deprecated, for removal: This API element is subject to removal in a future version.
This method is deprecated. Use `getUser()` instead. Returns the value for the connection property 'msiClientId'.
Description copied from interface: `ISQLServerDataSource`
Returns the value for the connection property 'msiClientId'.

Specified by:
  `getMSIClientId` in interface `ISQLServerDataSource`
Returns:
  msiClientId property value

#### setKeyVaultProviderClientId

    public void setKeyVaultProviderClientId​(String keyVaultProviderClientId)

Description copied from interface: `ISQLServerDataSource`
Sets the Azure Key Vault (AKV) Provider Client Id to provided value to be used for column encryption.

Specified by:
  `setKeyVaultProviderClientId` in interface `ISQLServerDataSource`
Parameters:
  `keyVaultProviderClientId` - Client Id of Azure Key Vault (AKV) Provider to be used for column encryption.

#### getKeyVaultProviderClientId

    public String getKeyVaultProviderClientId()

Description copied from interface: `ISQLServerDataSource`
Returns the value for the connection property 'keyVaultProviderClientId'.

Specified by:
  `getKeyVaultProviderClientId` in interface `ISQLServerDataSource`
Returns:
  keyVaultProviderClientId

#### setKeyVaultProviderClientKey

    public void setKeyVaultProviderClientKey​(String keyVaultProviderClientKey)

Description copied from interface: `ISQLServerDataSource`
Sets the Azure Key Vault (AKV) Provider Client Key to provided value to be used for column encryption.

Specified by:
  `setKeyVaultProviderClientKey` in interface `ISQLServerDataSource`
Parameters:
  `keyVaultProviderClientKey` - Client Key of Azure Key Vault (AKV) Provider to be used for column encryption.

#### setKeyStorePrincipalId

    public void setKeyStorePrincipalId​(String keyStorePrincipalId)

Description copied from interface: `ISQLServerDataSource`
Sets the value for the connection property 'keyStorePrincipalId'.

Specified by:
  `setKeyStorePrincipalId` in interface `ISQLServerDataSource`
Parameters:
  `keyStorePrincipalId` -

              When keyStoreAuthentication = keyVaultClientSecret, set this value to a valid Azure Active Directory Application Client ID.
              When keyStoreAuthentication = keyVaultManagedIdentity, set this value to a valid Azure Active Directory Application Object ID (optional, for user-assigned only).

#### getKeyStorePrincipalId

    public String getKeyStorePrincipalId()

Description copied from interface: `ISQLServerDataSource`
Returns the value for the connection property 'keyStorePrincipalId'.

Specified by:
  `getKeyStorePrincipalId` in interface `ISQLServerDataSource`
Returns:
  keyStorePrincipalId

#### getDomain

    public String getDomain()

Description copied from interface: `ISQLServerDataSource`
Returns the value for the connection property 'domain'.

Specified by:
  `getDomain` in interface `ISQLServerDataSource`
Returns:
  'domain' property value

#### setDomain

    public void setDomain​(String domain)

Description copied from interface: `ISQLServerDataSource`
Sets the 'domain' connection property used for NTLM Authentication.

Specified by:
  `setDomain` in interface `ISQLServerDataSource`
Parameters:
  `domain` - Windows domain name

#### getEnclaveAttestationUrl

    public String getEnclaveAttestationUrl()

Description copied from interface: `ISQLServerDataSource`
Returns the enclave attestation URL used in Always Encrypted with Secure Enclaves.

Specified by:
  `getEnclaveAttestationUrl` in interface `ISQLServerDataSource`
Returns:
  enclave attestation URL.

#### setEnclaveAttestationUrl

    public void setEnclaveAttestationUrl​(String url)

Description copied from interface: `ISQLServerDataSource`
Sets the enclave attestation URL used in Always Encrypted with Secure Enclaves.

Specified by:
  `setEnclaveAttestationUrl` in interface `ISQLServerDataSource`
Parameters:
  `url` - Enclave attestation URL.

#### getEnclaveAttestationProtocol

    public String getEnclaveAttestationProtocol()

Description copied from interface: `ISQLServerDataSource`
Returns the enclave attestation protocol used in Always Encrypted with Secure Enclaves.

Specified by:
  `getEnclaveAttestationProtocol` in interface `ISQLServerDataSource`
Returns:
  Enclave attestation protocol.

#### setEnclaveAttestationProtocol

    public void setEnclaveAttestationProtocol​(String protocol)

Description copied from interface: `ISQLServerDataSource`
Sets the enclave attestation protocol to be used in Always Encrypted with Secure Enclaves.

Specified by:
  `setEnclaveAttestationProtocol` in interface `ISQLServerDataSource`
Parameters:
  `protocol` - Enclave attestation protocol.

#### getClientCertificate

    public String getClientCertificate()

Description copied from interface: `ISQLServerDataSource`
Returns client certificate path for client certificate authentication.

Specified by:
  `getClientCertificate` in interface `ISQLServerDataSource`
Returns:
  Client certificate path.

#### setClientCertificate

    public void setClientCertificate​(String certPath)

Description copied from interface: `ISQLServerDataSource`
Sets client certificate path for client certificate authentication.

Specified by:
  `setClientCertificate` in interface `ISQLServerDataSource`
Parameters:
  `certPath` - Client certificate path.

#### getClientKey

    public String getClientKey()

Description copied from interface: `ISQLServerDataSource`
Returns Private key file path for client certificate authentication.

Specified by:
  `getClientKey` in interface `ISQLServerDataSource`
Returns:
  Private key file path.

#### setClientKey

    public void setClientKey​(String keyPath)

Description copied from interface: `ISQLServerDataSource`
Sets Private key file path for client certificate authentication.

Specified by:
  `setClientKey` in interface `ISQLServerDataSource`
Parameters:
  `keyPath` - Private key file path.

#### setClientKeyPassword

    public void setClientKeyPassword​(String password)

Description copied from interface: `ISQLServerDataSource`
Sets the password to be used for Private key provided by the user for client certificate authentication.

Specified by:
  `setClientKeyPassword` in interface `ISQLServerDataSource`
Parameters:
  `password` - Private key password.

#### getAADSecurePrincipalId

    @Deprecated(since="9.4.1",
                forRemoval=true)
    public String getAADSecurePrincipalId()

Deprecated, for removal: This API element is subject to removal in a future version.
Description copied from interface: `ISQLServerDataSource`
Returns the value for the connection property 'AADSecurePrincipalId'.

Specified by:
  `getAADSecurePrincipalId` in interface `ISQLServerDataSource`
Returns:
  'AADSecurePrincipalId' property value.

#### setAADSecurePrincipalId

    @Deprecated(since="9.4.1",
                forRemoval=true)
    public void setAADSecurePrincipalId​(String AADSecurePrincipalId)

Deprecated, for removal: This API element is subject to removal in a future version.
Description copied from interface: `ISQLServerDataSource`
Sets the 'AADSecurePrincipalId' connection property used for Active Directory Service Principal authentication.

Specified by:
  `setAADSecurePrincipalId` in interface `ISQLServerDataSource`
Parameters:
  `AADSecurePrincipalId` - Active Directory Service Principal Id.

#### setAADSecurePrincipalSecret

    @Deprecated(since="9.4.1",
                forRemoval=true)
    public void setAADSecurePrincipalSecret​(String AADSecurePrincipalSecret)

Deprecated, for removal: This API element is subject to removal in a future version.
Description copied from interface: `ISQLServerDataSource`
Sets the 'AADSecurePrincipalSecret' connection property used for Active Directory Service Principal authentication.

Specified by:
  `setAADSecurePrincipalSecret` in interface `ISQLServerDataSource`
Parameters:
  `AADSecurePrincipalSecret` - Active Directory Service Principal secret.

#### getSendTemporalDataTypesAsStringForBulkCopy

    public boolean getSendTemporalDataTypesAsStringForBulkCopy()

Description copied from interface: `ISQLServerDataSource`
Returns the current flag for value sendTemporalDataTypesAsStringForBulkCopy

Specified by:
  `getSendTemporalDataTypesAsStringForBulkCopy` in interface `ISQLServerDataSource`
Returns:
  'sendTemporalDataTypesAsStringForBulkCopy' property value.

#### setSendTemporalDataTypesAsStringForBulkCopy

    public void setSendTemporalDataTypesAsStringForBulkCopy​(boolean sendTemporalDataTypesAsStringForBulkCopy)

Description copied from interface: `ISQLServerDataSource`
Specifies the flag to send temporal datatypes as String for Bulk Copy.

Specified by:
  `setSendTemporalDataTypesAsStringForBulkCopy` in interface `ISQLServerDataSource`
Parameters:
  `sendTemporalDataTypesAsStringForBulkCopy` - boolean value for 'sendTemporalDataTypesAsStringForBulkCopy'.

#### getMaxResultBuffer

    public String getMaxResultBuffer()

Description copied from interface: `ISQLServerDataSource`
Returns value of 'maxResultBuffer' from Connection String.

Specified by:
  `getMaxResultBuffer` in interface `ISQLServerDataSource`
Returns:
  'maxResultBuffer' property.

#### setMaxResultBuffer

    public void setMaxResultBuffer​(String maxResultBuffer)

Description copied from interface: `ISQLServerDataSource`
Sets the value for 'maxResultBuffer' property

Specified by:
  `setMaxResultBuffer` in interface `ISQLServerDataSource`
Parameters:
  `maxResultBuffer` - String value for 'maxResultBuffer'

#### setConnectRetryCount

    public void setConnectRetryCount​(int count)

Description copied from interface: `ISQLServerDataSource`
Sets the maximum number of attempts to reestablish a broken connection.

Specified by:
  `setConnectRetryCount` in interface `ISQLServerDataSource`
Parameters:
  `count` - maximum number of attempts

#### getConnectRetryCount

    public int getConnectRetryCount()

Description copied from interface: `ISQLServerDataSource`
Returns the maximum number of attempts set to reestablish a broken connection.

Specified by:
  `getConnectRetryCount` in interface `ISQLServerDataSource`
Returns:
  maximum number of attempts

#### setConnectRetryInterval

    public void setConnectRetryInterval​(int interval)

Description copied from interface: `ISQLServerDataSource`
Sets the interval, in seconds, between attempts to reestablish a broken connection.

Specified by:
  `setConnectRetryInterval` in interface `ISQLServerDataSource`
Parameters:
  `interval` - interval in seconds

#### getConnectRetryInterval

    public int getConnectRetryInterval()

Description copied from interface: `ISQLServerDataSource`
Returns the interval set, in seconds, between attempts to reestablish a broken connection.

Specified by:
  `getConnectRetryInterval` in interface `ISQLServerDataSource`
Returns:
  interval in seconds

#### setPrepareMethod

    public void setPrepareMethod​(String prepareMethod)

Description copied from interface: `ISQLServerDataSource`
Sets the behavior for the prepare method. `PrepareMethod`

Specified by:
  `setPrepareMethod` in interface `ISQLServerDataSource`
Parameters:
  `prepareMethod` - Changes the setting as per description

#### getPrepareMethod

    public String getPrepareMethod()

Description copied from interface: `ISQLServerDataSource`
Returns the value indicating the prepare method. `PrepareMethod`

Specified by:
  `getPrepareMethod` in interface `ISQLServerDataSource`
Returns:
  prepare method

#### 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 will always return 0 and is for backwards compatibility only.
Description copied from interface: `ISQLServerDataSource`
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 `ISQLServerDataSource`
Parameters:
  `timeToLive` - Time-to-live is no longer supported.

#### 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 is a no-op for backwards compatibility only.
Description copied from interface: `ISQLServerDataSource`
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.

Specified by:
  `getMsiTokenCacheTtl` in interface `ISQLServerDataSource`
Returns:
  Method will always return 0.

#### setAccessTokenCallback

    public void setAccessTokenCallback​(SQLServerAccessTokenCallback accessTokenCallback)

Sets the `SQLServerAccessTokenCallback` delegate.

Specified by:
  `setAccessTokenCallback` in interface `ISQLServerDataSource`
Parameters:
  `accessTokenCallback` - Access token callback delegate.

#### getAccessTokenCallback

    public SQLServerAccessTokenCallback getAccessTokenCallback()

Returns a `SQLServerAccessTokenCallback`, the access token callback delegate.

Specified by:
  `getAccessTokenCallback` in interface `ISQLServerDataSource`
Returns:
  Access token callback delegate.

#### getReference

    public Reference getReference()

Specified by:
  `getReference` in interface `Referenceable`

#### isWrapperFor

    public boolean isWrapperFor​(Class<?> iface)
                         throws SQLException

Specified by:
  `isWrapperFor` in interface `Wrapper`
Throws:
  `SQLException`

#### unwrap

    public <T> T unwrap​(Class<T> iface)
                 throws SQLException

Specified by:
  `unwrap` in interface `Wrapper`
Throws:
  `SQLException`