Connectors → IBM DB2

About IBM Db2

IBM Db2 Database is a relational database management system (RDMS) that delivers advanced data management and is supported across Linux, Unix and Windows operating systems. Similar to other common RDMSs, IBM Db2 uses Structured Query Language (SQL) statements to perform tasks such as inserting, updating, deleting, or retrieving data from a database.

IBM Db2 is the database server product member of the Db2 family of database products. It includes advanced features such as in-memory technology (IBM BLU Acceleration®), advanced management and development tools, storage optimization, workload management, actionable compression and continuous data availability (IBM pureScale®).

Recent versions of IBM Db2 support popular languages and frameworks used by AI developers. These versions have native language support for Python, Ruby, Go, Java, PHP, Node.js and Sequelize, and they support popular frameworks such as Visual Studio Code and Jupyter notebooks.

About the IBM Db2 Connector

The IBM Db2 connector uses the Java Database Connectivity (JDBC) driver to connect to an IBM Db2 database and get data. You obtain a JDBC connection from the driver connection pool in order to perform queries to retrieve the table description, table schema, and actual data. The response is in the form of a record set. Incorta loads data from a Db2 database using the IBM Db2 connector. The IBM Db2 connector uses the db2jcc.jar driver.

The IBM Db2 connector supports the following Incorta specific functionality:

FeatureSupported
Chunking
Data Agent
Encryption at Ingest
Incremental Load
Multi-Source
OAuth
Performance Optimized
Remote
Single-Source
Spark Extraction
Webhook Callbacks
Note

The IBM Db2 Connector supports incremental loads using a timestamp field. It does not support incremental loads using a numeric column. To learn more, see Supported Incremental Loads.

Steps to connect IBM Db2 and Incorta

To connect IBM Db2 and Incorta, here are the high-level steps, tools, and procedures:

Create an external data source

Here are the steps to create an external data source with the IBM Db2 connector:

  1. Sign in to the Incorta Direct Data Platform™.
  2. In the Navigation bar, select Data.
  3. In the Action bar, select + NewAdd Data Source.
  4. In the Choose a Data Source dialog, in Database, select IBM DB2.
  5. In the New Data Source dialog, specify the applicable connector properties.
  6. To test, select Test Connection.
  7. Select Ok to save your changes.

IBM Db2 connector properties

Here are the properties for the IBM Db2 connector:

PropertyControlDescription
Data Source Nametext boxEnter the name of the data source
Usernametext boxEnter the database username
Passwordtext boxEnter the database user password
Connection Pooltext boxEnter the connection pool. The default is 30.
Connection Stringtext boxEnter the connection string for the IBMDb2 JDBC driver. The format is:
jdbc:db2://<HOST>:<PORT>/<DATABASE_NAME>
The <HOST> is the host DNS name or IPv4 address. The <PORT> is the TCP port number. The default is 50000.
Connection Propertiestext boxOptional. Customized string input of key/value pair properties. See below for details on connection properties.
Extra Optionstext boxEnter supported extra options in the form of key=value.
Use Data AgenttoggleEnable using a data agent to securely ingest data from an external data source that is behind a firewall.
For more information, please review Tools → Data Agent and Tools → Data Manager.
Data Agentdrop down listEnable Use Data Agent to configure this property. Select from the data agents created in the tenant, if any.
Important: Data Agent

A data agent is a service that runs on a remote host. It is also a data agent object in the Data Manager for a given tenant. An authentication file shared between the data agent object and the data agent service enables an authorized connection without using a VPN or SSH tunnel. With a data agent, you can securely extract data from one or more databases behind a firewall to an Incorta cluster. Your Incorta cluster can reside on-premises or in the cloud.

You must have the Incorta cluster enabled and configured to support the use of Data Agents. To learn more, see Concepts → Data Agent and Tools → Data Agent.

Connection Properties

The connection properties allow for customized connection to your IBM Db2 database. The properties are accepted in a key=value format. The type of connector properties can range from username and password to SSL settings. The db2jcc.jar driver determines the available connection properties. For a list of connection properties available with Incorta and an IBM Db2 Server database, refer to JDBC connection properties.

Create a schema with the Schema Wizard

Here are the steps to create an IBM Db2 schema with the Schema Wizard:

  • Sign in to the Incorta Direct Data Platform™.
  • In the Navigation bar, select Schema.
  • In the Action bar, select + NewSchema Wizard.
  • In (1) Choose a Source, specify the following:
    • For Enter a name, enter the schema name.
    • For Select a Datasource, select the IBM Db2 external data source.
    • Optionally, enter a description.
  • In the Schema Wizard footer, select Next.
  • In (2) Manage Tables, in the Data Panel, first select the name of the Data Source, and then check the Select All checkbox.
  • In the Schema Wizard footer, select Next.
  • In (3) Finalize, in the Schema Wizard footer, select Create Schema.

Create a schema with the Schema Designer

Here are the steps to create an IBM Db2 schema using the Schema Designer:

  • Sign in to the Incorta Direct Data Platform™.
  • In the Navigation bar, select Schema.
  • In the Action bar, select + NewCreate Schema.
  • In the Create Schema dialog, in Name, specify the schema name, and then select Save.
  • In Start adding tables to your schema, select SQL Database.
  • In the Data Source dialog, specify the IBM Db2 table data source properties.
  • Select Add.
  • In the Table Editor, in the Table Summary section, enter the table name.
  • To save your changes, in the Action bar, select Done.

IBM Db2 table data source properties

For a schema table in Incorta, you can define the following IBM-Db2-specific data source properties as follows:

PropertyControlDescription
Typedrop down listDefault is SQL Database.
Data Sourcedrop down listSelect the IBM Db2 external data source
IncrementaltoggleEnable the incremental load configuration for the schema table. See Supported Incremental Loads.
Fetch Sizetext boxFor performance improvement, define the number of records that will be retrieved from the database in each batch until all records are retrieved. The default is 5000.
Querytext boxEnter the SQL query to retrieve data from the IBM Db2 database Server.
Update Querytext boxEnable Incremental to configure this property. Define the SQL update query to use during an incremental load. The query and update query should be of the same structure, that is, the same selected columns.
Incremental Field Typedrop down listEnable Incremental to configure this property. Select what the format of the incremental field is: Timestamp, Unix Epoch (seconds), or Unix Epoch (milliseconds).
CallbacktoggleEnable post extraction callback, that is, enabling callback on the data source data set(s) by invoking a certain callback URL with parameters containing details about the load job
Callback URLtext boxEnable Callback to configure this property. Specify the callback URL.

View the schema diagram with the Schema Diagram Viewer

Here are the steps to view the schema diagram using the Schema Diagram Viewer:

  • Sign in to the Incorta Direct Data Platform™.
  • In the Navigation bar, select Schema.
  • In the list of schemas, select the IBM Db2 schema.
  • In the Schema Designer, in the Action bar, select Diagram.

Load the schema

Here are the steps to perform a Full Load of the IBM Db2 schema using the Schema Designer:

  • Sign in to the Incorta Direct Data Platform™.
  • In the Navigation bar, select Schema.
  • In the list of schemas, select the IBM Db2 schema.
  • In the Schema Designer, in the Action bar, select LoadFull Load.
  • To review the load status, in Last Load Status, select the date.

Explore the schema

With the full load of the IBM Db2 schema complete, you can use the Analyzer to explore the schema, create your first insight, and save the insight to a new dashboard.

To open the Analyzer from the schema, follow these steps:

  • In the Navigation bar, select Schema.
  • In the Schema Manager, in the List view, select the IBM Db2 schema.
  • In the Schema Designer, in the Action bar, select Explore Data.

For more information about how to use the Analyzer to create insights, see Analyzer and Visualizations.

Additional Considerations

Supported Incremental Loads

You can enable Incremental Load for an IBM Db2 table data source only by using the last successful extract time strategy.

Last Successful Extract Time

In this strategy, fetch updates since the last time the tables were loaded. This is determined by the difference between the current time and the database timestamp.

Note

Changing the incremental load strategy requires a full load to ensure data integrity.

Incremental Load Example

In this example, the invoices table must contain a column of the type Date or Timestamp in order to load the table incrementally with a last successful extract time strategy. In this case, the name of the date column is ModifiedDate and the format of the column is Timestamp.

Here are the data source property values for this example:

Incremental is enabled

Query contains SELECT * FROM invoices

Update Query contains SELECT * FROM invoices WHERE ModifiedDate > ?

Note

? is a variable in the update query that contains the last schema refresh date.

Incremental Field Type = Timestamp

Note

If running an update query for an incremental load, you are able to use the ? reference character. The ? character will be replaced with the last incremental reference to construct a valid query to the database. The ? reference character is not valid in a standard query.

Valid Query Types

When creating a query for the IBM Db2 connector, only SELECT statements are valid.