On this page
Table of Contents | ||||||
---|---|---|---|---|---|---|
|
This account is used by the Snaps in the SQL Server Snap Pack.
You can create an account from Designer or Manager. In Designer, when working on pipelines, every Snap that needs an account prompts you to create a new account or use an existing account. The accounts can be created in or used from:
- Your private project folder: This folder contains the pipelines that will use the account.
- Your Project Space’s shared folder: This folder is accessible to all the users that belong to the Project Space.
- The global shared folder: This folder is accessible to all the users within an organization in the SnapLogic instance.
Account Configuration
In Manager, you can navigate to the required folder and create an account in it (see Accounts). To create an account for SQL Server:
- Click Create, then select SQLServer > SQL Server Account or SQLServer > SQL Server Dynamic Account.
- Supply an account label.
Supply the Account properties, JDBC jars, Advanced properties, & URL properties for your SQL Server database. When using SQL Server Dynamic Account, you can specify the Account properties as expressions referencing pipeline parameters. You cannot use document fields under expressions for Account Properties.
Note The JDBC driver should be available in any project directory the user can access. The JDBC driver class should default to com.microsoft.sqlserver.jdbc.SQLServerDriver. - (Optional) Supply additional information on this account in the Notes field of the Info tab.
- Click Apply.
Warning |
---|
Avoid changing account credentials while pipelines using them are in progress. This may lead to unexpected results, including locking the account. |
Account Types
SQL Server Account
SQL Server Dynamic Account
Note |
---|
The difference between SQL Server Account and SQL Server Dynamic Account is that in the latter you can specify the Account properties as expressions referencing pipeline parameters. |
Label | Required. User provided label for the account instance. | ||
---|---|---|---|
Account properties | Required. Enter in the information to create a connection to the database. | ||
Hostname | Required. The server's address to connect to. Default value: [None] | ||
Port Number | Required. The database server's port to connect to. Default value: 1433
| ||
Database name | Required. The database name to connect to. Default value: [None] | ||
Username | Username that is allowed to connect to the database. Username will be used as the default username when retrieving connections. The username must be valid in order to set up the data source. Default value: [None] | ||
Password | Password used to connect to the data source. Password wil be used as the default password when retrieving connections. The password must be valid in order to set up the data source. Default value: [None] | ||
JDBC Driver | Select the JDBC driver to use. A different driver binary for a driver must have a different name, the same name can not be reused for a different driver. If this property is left blank, a default JDBC driver will be loaded. Default value: [None] | ||
JDBC Driver Class | Required. JBDC driver class name to use. Default value: com.microsoft.sqlserver.jdbc.SQLServerDriver | ||
Advanced properties | |||
Auto commit | When selected, each of the batches is committed immediately after it is executed. If the Snap fails, only the batch being executed at that moment is rolled back. When deselected, the Snap execution output is committed 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. Default value: Selected | ||
Batch size | Required. Number of statements to execute at a time.
Default value: 50 | ||
Fetch size | Required. Number of rows to fetch at a time when executing a query.
Default value: 100 | ||
Max pool size | Required. Maximum number of connections a pool will maintain at a time. Default value: 50 | ||
Max life time | Required. 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. Default value: 30 | ||
Idle Timeout | Required. 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. Default value: 5 | ||
Checkout timeout | Required. Number of milliseconds to wait for a connection to be available when the pool is exhausted. Zero waits forever. An exception will be thrown after the wait time has expired. Default value: 10000 | ||
URL Properties | |||
URL property name | URL property name Default value: selectMethod | ||
URL property value | URL property value Default value: cursor |
Windows-based Authentication
- Make sure that Snaplex is running Windows (Linux is not supported).
Place the latest version of
sqljdbc_auth.dll
in$SL_ROOT/ldlib
(c:\opt\Snaplogic\ldlib
). You can find latest the version of the DLL on the Microsoft SQLServer Server JDBC Driver website.Note If you upload customized JDBC jars to the directory, the following error might occur:
java.lang.UnsatisfiedLinkError: Native Library C:\\opt\\snaplogic\\ldlib\\sqljdbc_auth.dll already loaded in another classloader
To fix this issue, remove all JDBC jars from the SQL server account and restart the JCC node.
- Do not specify a port number.
- Configure an extra property for JDBC : "IntegratedSecurity" = "true"
Note | ||
---|---|---|
| ||
|
Note |
---|
If the Snap fails to connect to the database, it will retry three more times. You can Validate an account connection when creating a SQL Database Account but not when creating a SQL Server Dynamic Account because the account properties of a dynamic account are provided dynamically as pipeline parameters. |
Windows-based Authentication Using the NTLM Protocol
There are two ways to authenticate your Windows SQL Server connection using the NTLM protocol.
Method 1: Using the JTDI file:
- Download the distribution ZIP file,
jtds-1.3.1-dist.zip
. Extract the contents of the ZIP file and
Upload the
jtdi-1.3.1.jar
driver to the SnapLogicshared/jar_file
folder.Upload the
ntlmauth.dll
file that matches the target architecture (for a 64-bit operating system, extract the file under x64/SSO) to the$SL_ROOT/ldlib
folder, for example,c:\opt\Snaplogic\ldlib.
In the SQL Server account settings:
Specify the JDBC Driver Class as
net.sourceforge.jtds.jdbc.Driver.
Add the following Url properties:
Url property nameUrl property valueDomain Your domain name
Note Domain name must be added as a URL property and not along with the user name.
useNTLMv2 true - Click Validate and select the plex when prompted. The message "
Account validation successful
" is displayed. - Click Apply to finish setting up NTLM-based authentication.
Method 2: Using the JAR file:
- Download one of the following the JAR files based on your Java version:
- Java 8:
mssql-jdbc-7.4.1.jre8.jar (
certifiedTested and Certified by SnapLogic
) - Java 11:
mssql-jdbc-7.4.1.jre11.jar
- Java 8:
- Download the
sqljdbc_auth.dll
file compatible with the jar file specified above and place it in$SL_ROOT/ldlib
, for example, c:\opt\Snaplogic\ldlib. - In the SQL Server account Settings:
Click + next to the JDBC JARs field and upload the JAR file.
Specify the JDBC Driver Class name as:
com.microsoft.sqlserver.jdbc.SQLServerDriver.
Add the following Url properties:
Url property nameUrl property valuedomain Your domain name
Note Domain name must be added as a URL property and not along with the user name.
integratedSecurity true authenticationScheme NTLM - Click Validate and select the plex when prompted. The message "
Account validation successful
" is displayed. - Click Apply to finish setting up NTLM-based authentication.
Note |
---|
Any version of the JAR files available in Microsoft Java and JDBC Support page later than the versions mentioned here can be used. |
Active Directory Kerberos Authentication
SnapLogic supports Active Directory authentication for SQL server for the following driver JAR versions based on the Java version:
- Java 8:
mssql-jdbc-7.4.1.jre8.jar (
certifiedTested and Certified by SnapLogic)
- Java 11:
mssql-jdbc-7.4.1.jre11.jar
See Microsoft JDBC Driver for SQL Server for 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:
In the account settings, add the following to Url property name and Url property value:
Url property nameUrl property valueIntegratedSecurity True AuthenticationScheme JavaKerberos In the account settings, enter your Active Directory Username and Password.
Note |
---|
Any version of the JAR files available in Microsoft Java and JDBC Support page later than the versions mentioned here can be used. |
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|