...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
On this Page
Table of Contents | ||||||
---|---|---|---|---|---|---|
|
This account is used by the Snaps in the JDBC 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 a generic JDBC driver:
- If you have not already done so, upload the JDBC driver for this database as a file for the specific project.
- Click Create, then select JDBC > Generic Database Account.
- Supply an account label.
- Supply the account properties for your database.
- (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. |
Note |
---|
|
Account Encryption
...
If you are using Standard Encryption, the High sensitivity settings under Enhanced Encryption are followed.
...
If you have the Enhanced Account Encryption feature, the following describes which fields are encrypted for each sensitivity level selected for this account.
Account:
- High: Password
- Medium + High: Username, password
- Low + Medium + High: Username, password, JDBC UR
Auto Commit with Execute Snaps
For a DB Execute Snap, assume that a stream of documents enters the input view of the Snap and the SQL statement property has JSON paths in the WHERE clause. If the number of documents are large, the Snap executes in more than one batches rather than executing one per each document. Each batch would contain a certain number of WHERE clause values. If Auto commit is turned on, a failure would only roll back the records in the current batch. If Auto commit is turned off, the entire operation would be rolled back. For a single execute statement (with no input view), the setting has no practical effect.
Active Directory authentication
SnapLogic supports Active Directory authentication for SQL server for driver JAR version mssql-jdbc-6.2.2-jre8.jar
. Ensure that you have installed mssql-jdbc-6.2.2-jre8.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:
...
...
...
In the account settings, enter your Active Directory Username and Password.
Connecting to Cassandra Database Using Cassandra Simba Driver
To connect to Cassandra database using the Cassandra Simba driver ensure that the appropriate Simba JAR files are installed based on the version of JDK in the Snaplex node. Contact your Org admin to know the JDK in the Snaplex node. To see which JAR version is to be used, see JDBC Install Guide for details.
Aside from the JAR files, use the following configurations in the Account Settings when using the Cassandra Simba driver:
- JDBC Driver class: "com.simba.cassandra.jdbc42.Driver"
- JDBC URL: jdbc:cassandra://<host>:<port>;AuthMech=1;UID=<user id>;PWD=<password>;DefaultKeyspace=<database name>
- Database name: Auto detect
Note | ||
---|---|---|
| ||
|
Examples
This section provides examples of JDBC connection details for different sources. Note that specifics may vary based on operating system or database version.
Teradata
- JDBC Driver Jar: terajdbc4_13.jar, tdgssconfig_13.jar
- JDBC Driver Class: com.teradata.jdbc.TeraDriver
- JDBC URL: jdbc:teradata://<host>:<port>/TMODE=ANSI,SHARSET=UTF8,DBS_PORT=1025
SAP Hana
- JDBC Driver Jar: ngdbc.jar
- JDBC Driver Class: com.sap.db.jdbc.Driver
- JDBC URL: jdbc:sap://<host>:<port>/?currentschema=<your HANA Schema>
Sybase
- JDBC Driver Jar: jconn4.jar
- JDBC Driver Class: com.sybase.jdbc4.jdbc.SybDriver
- JDBC URL: dbc:sybase:Tds:<host>:<port2048>/<database>
JDBC ODBC Bridge
- JDBC Driver Jar:
- JDBC Driver Class: sun.jdbc.odbc.JdbcOdbcDriver
- JDBC URL: jdbc:odbc:ODBCConnectionName
Hive
Varies based on version.
See https://cwiki.apache.org/confluence/display/Hive/HiveServer2+Clients#HiveServer2Clients-JDBC for general information on Hive JDBC Drivers for HiveServer2.
- JDBC Driver Jar: Varies based on version. Hive is usually provided as part of a larger Hadoop cluster based on products from Cloudera, Hortonworks, or Amazon. You must use the appropriate drivers for your Hive instance.
- Cloudera: The necessary driver and support jars can be acquired from http://www.cloudera.com/downloads/connectors/hive/jdbc/2-5-4.html.
Hortonworks: The necessary driver and support jars can be acquired from https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.3.0/bk_dataintegration/content/hive-jdbc-odbc-drivers.html.
Amazon EMR: The necessary driver and support jars can be acquired from http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/HiveJDBCDriver.html.
- JDBC Driver Class: com.cloudera.hive.jdbc4.HS2Driver
- JDBC URL: jdbc:hive2://<host>:<port>
Informix
You will need to log into Informix with your IBM account to be able to download the Informix JDBC drivers and upload them into SnapLogic.
...
On this Page
Table of Contents | ||||||
---|---|---|---|---|---|---|
|
Overview
You can create a Generic JDBC Account to connect to data sources that you want to use in your pipelines. You can configure your Generic JDBC account in SnapLogic using either the Designer or the Manager.
Snap-Account Compatibility
Snap | |
---|---|
✔ | |
✔ | |
✔ | |
✔ |
Configuring Generic JDBC Account Using SnapLogic Designer
Drag a Generic JDBC Snap to the Canvas and click the Snap to open its settings. Click the Account tab. You can now either use an existing account or create a new one.
Selecting an existing account
SnapLogic organizes and displays all accounts you have access to, sorting them by account type and location. To select an existing account:
In the Account tab, click the Expand icon to view the accounts you have access to and select an account.
Click the Save icon.
Creating an account
In the Account tab, click Add Account below the Account Reference field.
Select the Location in which you want to create the account, select the Generic JDBC Account Type, and click Continue. The Add Account dialog window associated with the account type is displayed.
Enter the required account details. Learn more on how to provide information for the account type in Generic JDBC account.
Click Validate to verify the account, if the account type supports validation.
Click Apply to complete configuring the Generic JDBC account.
Info |
---|
Enter additional information on this account in the Notes field of the Info tab. This will help you–and other users–understand the purpose of the account, especially if there are multiple accounts of the same type. |
Configuring Generic JDBC Account Using SnapLogic Manager
You can use Manager to create accounts without associating them immediately with pipelines.
Accounts in SnapLogic are associated with projects. You can use accounts created in other projects only if you have at least Read access to them.
In the left pane, browse to the project in which you want to create the account and click > Account > JDBC > Generic JDBC Account, followed by the appropriate account type. The Create Account dialog associated with the selected account type is displayed.
Repeat steps 3 through 5 in the Creating an account section.
Avoid updating account credentials while pipelines using that account are executing. Doing so may lead to unexpected results, including your account getting locked.
Account Encryption
Standard Encryption | If you are using Standard Encryption, the High sensitivity settings under Enhanced Encryption are followed. | |
---|---|---|
Enhanced Encryption | If you have the Enhanced Account Encryption feature, the following fields are encrypted for each sensitivity level selected for this account.
|
Active Directory authentication
SnapLogic supports Active Directory authentication for SQL server for mssql-jdbc-6.2.2-jre8.jar
driver. Ensure that you have installed the mssql-jdbc-6.2.2-jre8.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:
Url property name and Url property value:
IntegratedSecurity | True
AuthenticationScheme | JavaKerberos
Enter your Active Directory Username and Password.
Connecting to Athena Database Using Athena JDBC Driver
Athena JDBC Driver 1.x versions are deprecated, and the Generic JDBC Snaps are not compatible with them. Therefore, we recommend you use Athena JDBC Driver 2.x or later for the AWS Athena database when using Generic JDBC Snaps.
Connecting to Cassandra Database Using Cassandra Simba Driver
To connect to the Cassandra database using the Cassandra Simba driver, ensure that the appropriate Simba JAR files are installed based on the version of JDK in the Snaplex node. Contact your Org admin to know the JDK in the Snaplex node. Learn more about the JAR version to be used: JDBC Install Guide.
Besides the JAR files, configure the following settings in the Account Settings when using the Cassandra Simba driver:
JDBC Driver class:
"com.simba.cassandra.jdbc42.Driver"
JDBC URL:
jdbc:cassandra://<host>:<port>;AuthMech=1;UID=<user id>;PWD=<password>;DefaultKeyspace=<database name>
Database name: Auto detect
For JDK 11 and Above
For JDK 11 and above, use version 4.2 of the Cassandra Simba Driver.
Of the JARs included with version 4.2, do not include the following since they are already provided as part of the Snap pack:
asm-5.0.3.jar
guava-16.0.1.jar
jackson-annotations-2.6.0.jar
jackson-core-2.6.3.jar
jackson-databind-2.6.3.jar
joda-time-2.9.1.jar
metrics-core-3.1.2.jar
snappy-java-1.1.2.6.jar
slf4j-api-1.7.7.jar
netty-transport-4.0.37.Final.jar
netty-handler-4.0.37.Final.jar
netty-common-4.0.37.Final.jar
netty-codec-4.0.37.Final.jar
netty-buffer-4.0.37.Final.jar
Typical JDBC Connection Properties for Various Databases
SAP HANA
To download SAP HANA you must have an SAP ID and download it at http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/webcontent/uuid/402aa158-6a7a-2f10-0195-f43595f6fe5f
Sybase
jConnect provides high performance native access to the complete family of Sybase products, including Adaptive Server Enterprise, Adaptive Server Anywhere, Adaptive Server IQ, and Replication Server.
Required File(s):
jconn4.jar
DRIVER CLASS:
com.sybase.jdbc4.jdbc.SybDriver
JDBC URL Format:
jdbc:sybase:Tds:<host>:<port2048>/<database>
Example:jdbc:sybase:Tds:10.0.0.2:2048, jdbc:sybase:Tds:mupp:5000/dbvistest
The jConnect JDBC driver is usually delivered as a zip file. First, you need to unzip this file and locate the jconn4.jar file, which usually is stored in the classes directory.
You can download the Sybase JDBC Driver from here.
Another open-source alternative to connect Sybase database is jTDS Drivers, which you can find at http://jtds.sourceforge.net/.
jTDS Driver
DRIVER CLASS: net.sourceforge.jtds.jdbc.Driver
JDBC URL FORMAT: jdbc:jtds:sybase://<host>[:<port>][/<database_name>]
Examples: jdbc:jtds:sybase://127.0.0.1:5000/SAMPLE
Examples
This section provides examples of JDBC connection details for different sources. Note that specifics may vary based on the Operating System or Database version.
Hive
Varies based on version. See https://cwiki.apache.org/confluence/display/Hive/HiveServer2+Clients#HiveServer2Clients-JDBC for general information on Hive JDBC Drivers for HiveServer2.
JDBC Driver Jar: Varies based on version. Hive is usually provided as part of a larger Hadoop cluster based on products from Cloudera, Hortonworks, or Amazon. You must use the appropriate drivers for your Hive instance.
Cloudera: The necessary driver and support jars can be acquired from http://www.cloudera.com/downloads/connectors/hive/jdbc/2-5-4.html .
Hortonworks: The necessary driver and support jars can be acquired from https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.3.0/bk_dataintegration/content/hive-jdbc-odbc-drivers.html .
Amazon EMR: The necessary driver and support jars can be acquired from http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/HiveJDBCDriver.html .
JDBC Driver Class:
com.cloudera.hive.jdbc4.HS2Driver
JDBC URL:
jdbc:hive2://<host>:<port>
Informix
Log into Informix with your IBM account to be able to download the Informix JDBC drivers and upload them into SnapLogic.
JDBC jars:
shared/ifxjdbc.jar
JDBC Driver Class:
com.informix.jdbc.IfxDriver
JDBC URL:
jdbc:informix-sqll://cxdn-rpt.cx.claremont.edu:1550/hmudd:INFORMIXSERVER=cxdbreplica
JDBC ODBC Bridge
Note |
---|
Oracle does not support the JDBC-ODBC Bridge from Java 8 and recommends using JDBC drivers provided by the vendor for database. However, if the database vendor supports the JDBC ODBC bridge, then you can use it with the JDBC Snap Pack, but SnapLogic does not certify any JDBC ODBC bridge connections. |
SAP Hana
JDBC Driver Jar:
ngdbc.jar
JDBC Driver Class:
com.sap.db.jdbc.Driver
JDBC URL:
jdbc:sap://<host>:<port>/?currentschema=<your HANA Schema>
Sybase
JDBC Driver Jar:
jconn4.jar
JDBC Driver Class:
com.sybase.jdbc4.jdbc.SybDriver
JDBC URL:
jdbc:sybase:Tds:<host>:<port2048>/<database>
Teradata
JDBC Driver Jar:
terajdbc4_13.jar, tdgssconfig_13.jar
JDBC Driver Class:
com.teradata.jdbc.TeraDriver
JDBC URL:
jdbc:teradata://<host>:<port>/TMODE=ANSI,SHARSET=UTF8,DBS_PORT=1025
...
Troubleshooting
If you have several JDBC accounts, one for system A and another for system B, you must ensure that all drivers can be loaded. If driver A fails to load, then driver B will always fail, even if it is a valid driver, as this is the expected behavior of the JDBC driver registry. It loads all drivers and goes through them in sequence. If any driver fails in the process, all drivers loaded later will also fail. After fixing the failing account's driver, you must restart the JCC nodes.
To disable the
mysql-cj-abandoned-connection-cleanup
thread that is generated by MySQL JDBC driver, use the latest version of MySQL (later than 8.0.22) and add the following settings in the Node Properties:
Key | Value |
---|---|
|
|
If the Snap fails to connect to the database, it retries three times.
Snap Pack History
Expand | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|