Database Integrations
This page is the single reference for supported databases, JDBC connection strings, required and permissions.
Supported Databases
Supported Data Sources
Synthesized easily connects to a variety of data sources.
POSTGRES ORACLE MYSQL MARIADB SQLITE MSSQL Snowflake DB2 LUW CSV XML SAP HANA
PostgreSQL
For a PostgreSQL, the basic format of the connect string is:
jdbc:postgresql://<host>:<port>/<database>
Example of JDBC URL:
jdbc:postgresql://localhost:5432/postgres
More information about connecting to the PostgreSQL database can be found in the documentation.
SQL Server
The general form of the connection URL for SQL Server is:
jdbc:sqlserver://<host>:<port>[;<property>=<value>]
Example of JDBC URL which is used to connect to master database without encryption:
jdbc:sqlserver://localhost:1433;encrypt=false;databaseName=master
More information about connecting to the SQL Server database can be found in the documentation.
MySQL
The general form of the connection URL is:
jdbc:mysql://<host>:<port>[/<database>][?properties]
Example:
jdbc:mysql://localhost:3306/sakila
LOAD DATA LOCAL INFILE requires the MySQL server (or managed instance) to allow local infile operations
(local_infile=1). The platform automatically enables the JDBC-side property when USE_FILE_BATCH_INSERT is set, but you must
ensure the server configuration permits it.
|
More information about connecting to the MySQL database can be found in the documentation.
Oracle
When connecting to an Oracle database using JDBC, the URL format depends on the type of connection method. Some of the connection methods are described below.
Service Name Connection
The format of the JDBC URL to connect Oracle databases via service name:
jdbc:oracle:thin:@//<host>:<port>/<serviceName>
Example:
jdbc:oracle:thin:@//localhost:1521/DB
TNS URL Format
tnsnames.ora entries can be included in the JDBC URL to connect to Oracle databases:
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=<host>)(PORT=<port>))(CONNECT_DATA=(SERVICE_NAME=<service>)))
Example:
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=DB)))
More information about connecting to the Oracle database can be found in the documentation.
Db2
Basic URL template for Db2 (type 4 connectivity) is:
jdbc:db2://<host>:<port>/<database>
Example:
jdbc:db2://localhost:50000/testdb
More information about connecting to the Db2 database can be found in the documentation.
MariaDB
Basic URL template for MariaDB is:
jdbc:mariadb://<host>:<port>/<database>[?key1=value1&key2=value2...]
Example:
jdbc:mariadb://localhost:3306/mydatabase
More information about connecting to the MariaDB database can be found in the documentation.
SQLite
The general form of the connection URL for SQLite is:
jdbc:sqlite:<path_to_sqlite_file>
Example of JDBC URL with the absolute path to the SQLite database file (test.db):
jdbc:sqlite:/var/data/test.db
SAP HANA
For a SAP HANA database, the basic format of the connect string is:
jdbc:sap://<host>:<port>/<database>
Example of JDBC URL:
jdbc:sap://ec2-35-177-245-71.eu-west-2.compute.amazonaws.com:39015
CSV File
For a CSV file, the basic format of the connect string is:
s3://<file storage>:<port>/<bucket>/<directory>
Example of JDBC URL:
s3://minio:9000/csvinput/data/
XML/XSD File
For a XML file, the basic format of the connect string is:
xml:s3://<file storage>:<port>/<bucket>/<directory>/<file.xsd>
Example of JDBC URL:
xml:s3://minio:9000/my-root/data/CCR001.xsd
Required Permissions
PostgreSQL
-- Read-only (recommended for source)
GRANT CONNECT ON DATABASE mydb TO tdk_user;
GRANT USAGE ON SCHEMA public TO tdk_user;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO tdk_user;
-- Read-write (for target database)
GRANT ALL PRIVILEGES ON DATABASE mydb TO tdk_user;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO tdk_user;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO tdk_user;
MySQL / MariaDB
-- Read-only (recommended for source)
GRANT SELECT ON mydb.* TO 'tdk_user'@'%';
-- Read-write (for target database)
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER
ON mydb.* TO 'tdk_user'@'%';
Oracle
-- Read-only (recommended for source)
GRANT CONNECT TO tdk_user;
GRANT SELECT ANY TABLE TO tdk_user;
-- Read-write (for target database)
GRANT CONNECT, RESOURCE TO tdk_user;
GRANT CREATE TABLE TO tdk_user;
GRANT UNLIMITED TABLESPACE TO tdk_user;
SQL Server / Azure SQL
-- Read-only (recommended for source)
CREATE USER tdk_user FOR LOGIN tdk_login;
GRANT SELECT ON SCHEMA::dbo TO tdk_user;
-- Read-write (for target database)
CREATE USER tdk_user FOR LOGIN tdk_login;
ALTER ROLE db_datareader ADD MEMBER tdk_user;
ALTER ROLE db_datawriter ADD MEMBER tdk_user;
ALTER ROLE db_ddladmin ADD MEMBER tdk_user;