JDBC
Java Database Connectivity (JDBC) is an application programming interface which defines how a client may access a database. It provides methods to query and update data in a database, and is oriented toward relational databases.
The integration between JDBC and Togai requires only a one-time setup. Follow the steps below:
Prerequisites
Create a read-only user
- Create a read-only user in your database
- Grant the user access to the tables that you want to sync with Togai
- Make sure that the user has access to the tables that you want to sync with Togai
Connection URI
Maria DB
The connection URI for Maria DB is as follows:
jdbc:mariadb://<host>:<port>/<database_name>?user=<username>&password=<password>
MS SQL Server
The connection URI for MS SQL Server is as follows:
jdbc:sqlserver://<host>:<port>;databaseName=<database_name>;user=<username>;password=<password>
MySQL DB
The connection URI for MySQL DB is as follows:
jdbc:mysql://<host>:<port>/<database_name>?user=<username>&password=<password>
Oracle DB
The connection URI for Oracle DB is as follows:
jdbc:oracle:thin:<username>/<password>@<host>:<port>:<database_name>
SQL Query
All the flows in this integration require a SQL query to fetch the data from the database. The query should be written in such a way that it returns the data in the format that is expected by the Togai API. The query should also be written in such a way that it returns only the data that you want to sync with Togai.
Flows
1. Sync customer from Database to Togai
- Provide the SQL query to fetch the customers from Database:
SELECT <customer_id> AS "id", <customer_name> AS "name", <email> AS "primaryEmail", <address_line_1> AS "addressLine1", <address_line_2> AS "addressLine2", <city> AS "address_city", <state> AS "address_state", <country> AS "address_country", <currency> AS "currency", <phone> AS "phone" FROM <table_name> WHERE created_at > '${startTime}' AND created_at < '${endTime}'
- The flow will be available to be triggered on demand from the Togai dashboard
- It will execute a SQL query to fetch all the customers from Database
- It will then create the customers in Togai using the
Customers
API
2. Sync events from Database to Togai
- Provide the SQL query to fetch the events from Database:
SELECT <event_id> AS "id", <account_id> AS "accountId", <eventName> AS "schemaName", <attributes> AS "attributes", <dimensions> AS "dimensions", <created_at> AS "timestamp" FROM <table_name> WHERE created_at > '${startTime}' AND created_at < '${endTime}'
- Make sure that the
attributes
areJSON
array anddimensions
columns are of typeJSON
- The flow will be available to be triggered on demand from the Togai dashboard
- It will execute a SQL query to fetch all the events from Database
- It will then create the events in Togai using the
Events Ingestion
API
3. Sync usages from Database to Togai
- Provide the SQL query to fetch the usages from Database:
SELECT <event_id> AS "id", <account_id> AS "accountId", <usage_count> AS "usage", <created_at> AS "timestamp" FROM <table_name> WHERE created_at > '${startTime}' AND created_at < '${endTime}'
- The flow will be available to be triggered on schedule from the Togai dashboard
- It will execute a SQL query to fetch all the usages from Database
- It will then create the usages in Togai using the
Events Ingestion
API