Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

On this Page

Table of Contents
maxLevel2
absoluteUrltrue
excludeOlder Versions|Additional Resources|Related Links|Related Information

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:

  1. If you have not already done so, upload the JDBC driver for this database as a file for the specific project.
  2. Click Create, then select JDBC > Generic Database Account.
  3. Supply an account label.
  4. Supply the account properties for your database. 
  5. (Optional) Supply additional information on this account in the Notes field of the Info tab.
  6. 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
  • If you have several JDBC accounts, one to system A and one to system B, then you need to make sure all drivers can be loaded. If driver A fails to load for some reason, then driver B will always fail, even though it is a valid driver, as this is how the JDBC driver registry works. It loads all drivers and goes through them in sequence. If any driver fails on the way, all drivers loaded later will also fail. Once you fix the driver for the failing account, the JCC needs to be restarted.
  • 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 -Dcom.mysql.cj.disableAbandonedConnectionCleanup=true to the jcc.jvm_options in the node properties under ‘Global Properties’.
  • If the Snap fails to connect to the database, it will retry three more times.

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:

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 name

...

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
titleFor JDK 8 and Above
  • For JDK 8 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

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.

Informix

Image Removed

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
maxLevel2
absoluteUrltrue
excludeOlder Versions|Additional Resources|Related Links|Related Information

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

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:

  1. In the Account tab, click the Expand(blue star) icon to view the accounts you have access to and select an account.

  2. Click the Save (blue star) icon.

    Image Added

Creating an account

  1. In the Account tab, click Add Account below the Account Reference field.

  2. 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.

    Image Added
  3. Enter the required account details. Learn more on how to provide information for the account type in Generic JDBC account.

  4. Click Validate to verify the account, if the account type supports validation.

  5. 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.

  1. In the left pane, browse to the project in which you want to create the account and click (blue star) > Account JDBC > Generic JDBC Account, followed by the appropriate account type. The Create Account dialog associated with the selected account type is displayed.

    Image Added
  2. 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.

  • High: Password

  • Medium + High: Username, password

  • Low + Medium + High: Username, password, JDBC URL

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.

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 Classcom.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

jcc.jvm_options

-Dcom.mysql.cj.disableAbandonedConnectionCleanup=true 

If the Snap fails to connect to the database, it retries three times.

Snap Pack History

Expand

Multiexcerpt include macro
nameJDBC_SPH
templateData[]
pageJDBC Snap Pack
addpanelfalse