System API
Supported Databases
UnityJDBC supports any JDBC-accessible data source including full-featured databases such as Oracle, Microsoft SQL Server, PostgreSQL, MySQL, Sybase, and IBM DB2 as well as text-based sources, generic JDBC/ODBC sources, and NoSQL sources such as MongoDB and Cassandra. Each data source has a different SQL dialect and supports certain functions. Data sources without their own database id inherit features from the SQL99 standard dialect (id=99) and the Common SQL functions dialect (id=1000). A dialect may inherit the features of another dialect then modify or add its own features.
A database identifier is specified in the databaseId tag of the schema file to identify the source dialect. The dialect can also be set in code using the following statements:
SourceDatabase db = con.getDatabase("OrderDB"); // Retrieve the database called OrderDB db.setDatabaseId(10100000); // Set database dialect for Microsoft SQL Server 2008
Click to see a list of supported database identifiers
Database Identifiers
Database Id | Name | Inherited Dialect |
---|---|---|
1 | Generic NoSQL System | |
10 | Single Table | |
99 | SQL99 | |
100 | IonDB | 1 |
1000 | Common SQL | 99 |
10060500 | Microsoft SQL Server 6.5 | 1000 |
10070000 | Microsoft SQL Server 7.0 | 10060500 |
10080000 | Microsoft SQL Server 2000 | 10070000 |
10090000 | Microsoft SQL Server 2005 | 10080000 |
10100000 | Microsoft SQL Server 2008 | 10090000 |
10100500 | Microsoft SQL Server 2010 | 10100000 |
10110000 | Microsoft SQL Server 2012 | 10100500 |
10120000 | Microsoft SQL Server 2014/Azure SQL | 10110000 |
10130000 | Microsoft SQL Server 2016 | 10120000 |
10140000 | Microsoft SQL Server 2017 | 10130000 |
10150000 | Microsoft SQL Server 2019 | 10140000 |
15080000 | Microsoft Access 97 | 1000 |
15090000 | Microsoft Access 2000 | 15080000 |
15100000 | Microsoft Access 2002 | 15090000 |
15110000 | Microsoft Access 2003 | 15100000 |
15120000 | Microsoft Access 2007 | 15110000 |
15140000 | Microsoft Access 2010 | 15120000 |
15150000 | Microsoft Access 2013 | 15140000 |
15160000 | Microsoft Access 2016 | 15150000 |
15160100 | Microsoft Access 2019 | 15150000 |
16120000 | Microsoft Excel | 99 |
17010000 | Microsoft Excel Driver | 10 |
20080000 | Oracle8i | 1000 |
20090000 | Oracle9i | 20080000 |
20100000 | Oracle10g | 20090000 |
20110000 | Oracle11g | 20100000 |
20120000 | Oracle12c | 20110000 |
20180000 | Oracle18c | 20120000 |
20190000 | Oracle19c | 20180000 |
30090000 | IBM DB2 9 | 1000 |
30100000 | IBM DB2 10 | 30090000 |
30100500 | IBM DB2 10.5 | 30100000 |
30110500 | IBM DB2 11.5 | 30100000 |
40060503 | PostgreSQL 6 | 1000 |
40070430 | PostgreSQL 7 | 40060503 |
40080408 | PostgreSQL 8 | 40070430 |
40090004 | PostgreSQL 9 | 40080408 |
40100000 | PostgreSQL 10 | 40090004 |
40110000 | PostgreSQL 11 | 40100000 |
40120000 | PostgreSQL 12 | 40110000 |
41051000 | Greenplum | 40080408 |
50120000 | Teradata 12 | 1000 |
50130000 | Teradata 13 | 50120000 |
50140000 | Teradata 14 | 50130000 |
50150000 | Teradata 15 | 50140000 |
50160000 | Teradata 16 | 50150000 |
51030000 | VectorWise | 1000 |
60050091 | MySQL 5.0 | 1000 |
60050143 | MySQL 5.1 | 60050091 |
60050503 | MySQL 5.5 | 60050143 |
60050700 | MySQL 5.7 | 60050503 |
60080000 | MySQL 8 | 60050503 |
61100400 | MariaDB 10 | 60050503 |
70070000 | Sybase SQL Anywhere 7 | 1000 |
70080000 | Sybase SQL Anywhere 8 | 70070000 |
70090000 | Sybase SQL Anywhere 9 | 70080000 |
70100000 | Sybase SQL Anywhere 10 | 70090000 |
70110000 | Sybase SQL Anywhere 11 | 70100000 |
70120000 | Sybase SQL Anywhere 12 | 70110000 |
71150500 | Sybase Adaptive Enterprise Server 15.5 | 1000 |
80020202 | MongoDB 2.2 | 1 |
80020400 | MongoDB 2.4 | 80020202 |
80030000 | MongoDB v3 | 80020400 |
80040000 | MongoDB v4 | 80030000 |
82030000 | ServiceNow | 10 |
83020007 | Cassandra | 10 |
84060000 | Splunk | 1 |
85010000 | Quandl | 1 |
86010000 | Hazelcast | 1 |
87010000 | Cognos | 10 |
88010000 | Cognos TM1 | 1 |
90070000 | Pervasive.SQL 7 | 1000 |
90080000 | Pervasive.SQL v8 | 90070000 |
90090000 | Pervasive PSQL v9 | 90080000 |
90100000 | Pervasive PSQL v10 | 90090000 |
90110000 | Pervasive PSQL v11/12 | 90100000 |
92010032 | SQLite v1 | 1000 |
92020816 | SQLite v2 | 92010032 |
92030706 | SQLite v3 | 92020816 |
94020500 | Firebird v2 | 1000 |
95010800 | HSQLDB 1.8 | 1000 |
95020100 | HSQLDB 2.1 | 95010800 |
95020200 | HSQLDB 2.2 | 95020100 |
95020500 | HSQLDB 2.5 | 95020200 |
97001100 | Apache Pig | 1 |
98010000 | ParStream | 1000 |
Functions and Function Translation
UnityJDBC automatically translates functions and SQL syntax to the appropriate SQL dialect for the underlying database. Functions are renamed and parameters are re-ordered as required. If a function is not supported by the database, it is executed automatically inside UnityJDBC. Each database system is assigned a database identifier that is specified in the schema file describing the source. The database id allows UnityJDBC to determine which functions are supported on the database and the appropriate mappings.