In this article
Table of Contents | ||||
---|---|---|---|---|
|
...
Field Name* | Field Type | Description | |||
---|---|---|---|---|---|
Label* Default Value: N/A | String | Specify a unique label for the account. | |||
Account properties* | Use this fieldset to enter in the information to create a connection to the databse. | ||||
Hostname* Default Value: N/A
| String/Expression | Specify the server's address to which you must connect.
| |||
Port Numbernumber* Default Value: 3306 | Integer/Expression | Specify the port number of the database server to which you must connect.
| |||
Database name* Default Value: N/A | String/Expression | Specify the name of the database to which you must connect. | |||
Username Default Value: N/A | String/Expression | Specify the username to connect to the database. This username is used as the default username when retrieving connections and must be valid to set up the data source. | |||
Password Default Value: N/A | String/Expression | Specify the password used to connect to the data source. This password is used as the default password when retrieving connections and must be valid to set up the data source. | |||
JDBC JARs* | Use this fieldset to specify the list of JDBC drivers to connect to the SQL Database. | ||||
JDBC Driver JDBC driver Default Value: com.microsoft.sqlserver.jdbc.SQLServerDriver | String | The SQL Server Snap Pack is bundled with
| |||
JDBC Driver ClassJDBC driver class* Default Value: com.microsoft.sqlserver.jdbc.SQLServerDriver | String | Specify the JDBC driver class name to use. | |||
Advanced properties | Use this fieldset to specify the advanced properties for connecting to the database. | ||||
Auto commit Default value: Selected | Checkbox/Expression | Select this checkbox to commit each of the batches immediately after it is executed. If the Snap fails, only the batch being executed at that moment is rolled back. Deselect this checkbox to commit the output only after all the batches are executed. If the Snap fails, the entire transaction is rolled back, unless the Snap finds invalid input data before it sends the insert request to the server, and routes the error documents to the Error view. | |||
Batch size* Default value: 50 | Integer/Expression | Specify the number of statements to execute at a time.
| |||
Fetch size* Default value: 100 | Integer/Expression | Specify the number of rows to fetch at a time when executing a query. Large values could cause the server to run out of memory. | |||
Max pool size* Default value: 50 | Integer/Expression | Specify the maximum number of connections a pool will maintain at a time. | |||
Max life timelifetime (minutes)* Default value: 30 | Integer/Expression | Specify the maximum lifetime of a connection in the pool. Ensure that the value you enter is a few seconds shorter than any database or infrastructure-imposed connection time limit. A value of 0 indicates an infinite lifetime, subject to the Idle Timeout value. An in-use connection is never retired. Connections are removed only after they are closed. | |||
Idle Timeouttimeout (minutes)* Default value: 5 | Integer/Expression | Specify the maximum amount of time a connection is allowed to sit idle in the pool. A value of 0 indicates that idle connections are never removed from the pool. | |||
Checkout timeout (milliseconds)* Default value: 10000 | Integer/Expression | Specify the number of milliseconds to wait for a connection to be available when the pool is exhausted. If you specify 0, the Snap waits infinitely until the connection is available. Therefore, we recommend you not to specify 0 for Checkout Timeout. | |||
URL properties | Use this field set to define URL properties to use if any. | ||||
URL Property Nameproperty name Default Value: selectMethod | String/Expression | Specify a name for the URL property if any. | |||
URL Property Valueproperty value Default Value: cursor | String/Expression | Specify a value for the URL property name. |
...
Note |
---|
If you upload customized JDBC jars to the directory, the following error might occur:
To fix this issue, remove all JDBC jars from the SQL server account and restart the JCC node. |
Service Account Authentication implies that the active AD user session on the Snaplex is leveraged to obtain access to the SQL Server instance. Therefore, you need not provide values in the Username and Password fields.
Do not specify a port number.
SnapLogic recommends using the default JAR. You can download the latest JAR file from here.
Configure the following properties for JDBC under URL properties:
...
In addition to providing the account properties such as Hostname, Database name, Username, and Password, ensure that the following settings/configurations are done for Active Directory Kerberos or NTLM Protocol (as the case may be) to implement User Impersonation with the SQL Server instance.
Authentication Using Active Directory Kerberos
Info |
---|
SQL Server Snap Pack does not support this mode of authentication on Cloudplexes. |
SnapLogic supports (tested and certified) Active Directory authentication for SQL servers on the following driver JAR version for Java 11:
mssql-jdbc-12.2.0.jre11.jar
Refer to Microsoft JDBC Driver for SQL Serverfor details.
Ensure that you have installed the correct JAR file. Also, use the following configurations in Account Settings to configure Active Directory authentication:
JDBC Driver class:
com.microsoft.sqlserver.jdbc.SQLServerDriver
JDBC Connection URL:
jdbc:sqlserver://ServerNameFQDN:portNumber;databaseName=DBNAME
SnapLogic supports Active Directory authentication for SQL Server using the User impersonation method. The prerequisites are as follows:
...
Error | Reason | Resolution |
---|---|---|
| You have uploaded customized JDBC JAR files to the directory. | Remove all JDBC JARs from the SQL Server account and restart the JCC node. |
com.microsoft.sqlserver.jdbc.SQLServerException: This driver is not configured for integrated authentication. | The correct sqljdbc_auth.dll file is not available in the ldlib folder. | Download the appropriate |
No valid credentials provided | The Service Principal Name (SPN) is not setup properly. | Ensure that you have setup the SPN for |
Defective token detected. | Kerberos fails when a mismatch occurs between the SPN for the SQL Server service and the hostName. For example, if FQDN of the machine is used to setup SPN, the hostname must be an FQDN and not an IP address, while establishing a connection. | Provide a value for |
...