JDBC Connectors

Your customers may want to ingest some of the data for their Aisera integration directly from a database. For instance, if your customer has a large amount of user data. Other example use cases include:

  • Spinning up a MySQL database on Railway for integration testing

  • Testing a PostgreSQL query using Neon with sample data

  • Evaluating schema design in a MariaDB instance without local setup

Choose JDBC options to integrate a database directly to your Aisera Gen AI platform. The JDBC Connectors can connect via any JDBC driver to a database and then ingest data to your Aisera Gen AI platform.

JDBC Data Sources

The Aisera Gen AI platform supports the following JDBC connections:

  • Amazon Redshift

  • Snowflake

  • Trino

  • MySQL

  • MariaDB

  • PostgreSQL

Like all Aisera connectors, you need to first create an Integration between the JDBC connector and your Aisera Gen AI platform Tenant and then create a Data Source using that Integration.

A JDBC Connector can ingest data which correspond to the supported Aisera Entities, such as:

  • Users

  • Articles

  • Tickets

It is a best practice to create an Aisera Service User to connect to your data source. This user needs Read permission and login credentials for the database. After you’ve created the connection for your Tenant, you can create an application/bot to associate with this Data Source.

Setup Integration Parameters

The following screenshots describe how to set up some of these JDBC connections.

Snowflake Integration

In Authentication Tab :

  • Username (user to connect to db - needs read access)

  • Password (password to connect to db)

  • URL (example: a801.east-us-6.azure.mysnowflake.com )

Snowflake Integration

Redshift Integration

In Configuration Tab :

  • Endpoint (example: localhost:5439/your_db)

In Authentication Tab :

  • Username (user to connect to db - needs read access)

  • Password (password to connect to db)

Reshift Integration
Redshift Authentication

Trino Integration

In Configuration Tab :

  • Endpoint host:port/catalog/schema (example: localhost:443/catalog/myschema)

In Authentication Tab :

  • Username (user to connect to db - needs read access)

  • Password (password to connect to db)

Trino Integration Parameters
Trino Integration Credentials

MySQL Integration

In Configuration Tab :

  • Endpoint host:port

In Authentication Tab :

  • Username (user to connect to db - needs read access)

  • Password (password to connect to db)

MySQL Integration
Integration - MySQL
User Credentials for MySQL
MySQL Integration
Name and Endpoint (MySQL instance)
Authentication with 1Possword

MariaDB Integration

In Configuration Tab :

  • Endpoint host:port

In Authentication Tab :

  • Username (user to connect to db - needs read access)

  • Password (password to connect to db)

Maria DB Integration

PostgreSQL Integration

In Configuration Tab :

  • Endpoint host:port

In Authentication Tab :

  • Username (user to connect to db - needs read access)

  • Password (password to connect to db)

PostgreSQL Integration
PostgreSQL connector

Setup the Data Source

  1. Click New Data Source

  2. Select JDBC

  3. Give a Name, Select Function (such as, for ingesting Users → LearnUsers) and Schedule

    Open Screenshot from 2022-11-01 13-03-57.png

  4. Type the SQL Query and Select the Integration

    • SNOWFLAKE EXAMPLE database.schema.table you need to replace in the query

      • database

      • schema

      • table

        Open image-20240516-132148.png

    • REDSHIFT EXAMPLE

      Open Screenshot from 2022-11-01 13-10-48.png

    • TRINO EXAMPLE

      Open image-20230721-081724.png

    • MYSQL EXAMPLE

      Open Screenshot 2025-06-02 at 18.59.17.png

    • POSTGRESQL EXAMPLE

      Open Screenshot 2025-06-02 at 19.00.19.png

  5. Limit is used to have a pagination to the requests to the database. For instance to get 500 users and then the next 500. If you have set a Limit value then you should not have Limit clause in the SQL Query.

  6. Start Date and End Date are used only if you have a SQL Query similar as in below example :

    select * from students where ADMISSION_DATE between {_startDate_} and {_endDate_}

  7. Database is RARELY used only if the SQL Query addresses to a table from a different db than that which has been defined in the integration.

Edit the JDBC Data Source
  1. Type the SQL Query and Select the Integration

  • SNOWFLAKE EXAMPLE database.schema.table

(you need to replace in the query)

  • database

  • schema

  • table

Snowflake Data Source
  • REDSHIFT EXAMPLE

Redshift Configuration
  • TRINO EXAMPLE

Trino Example
  • MYSQL EXAMPLE

MySQL Example

  • POSTGRESQL EXAMPLE

PostgreSQL Example
  • Use the Limit field to paginate the requests that you send to the database. For instance, set the limit to 500 if you want to retrieve the first 500 users and then the next 500 users. If you have set a Limit value, then you should not also include a Limit clause in the SQL Query.

  • Use the Start Date and End Date fields to define a range, such as if you have a SQL Query similar to :

select * from students where ADMISSION_DATE between {_startDate_} and {_endDate_}

  • Only use the Database field if the SQL Query calls a table from a different database than the one you have defined in the integration.

Mapping Fields

You need to manually define the mappings for each data source based on the columns from the table with the data you want to ingest, and the Aisera entity you want to map to each column.

Examples

Examples of field mapping in the Data Source Details window

Last updated