Show/Hide Toolbars

TMS Aurelius Documentation

To save and manipulate objects in the database, TMS Aurelius internally build and execute SQL statements. The SQL statements are automatically adjusted to use the correct dialect, according to the database server being used by the programmer.

 

When you create an IDBConnection interface using a component adapter, usually the adapter will automatically specify to Aurelius the SQL dialect to use. For example, if you are using FireDac components, the adapter will look to the DriverID property and tell which db server you are using, and then define the correct SQL dialect name that should be used.

 

However, the SQL dialect must be explicitly registered in the global settings for Aurelius. This is by design so you don't need to load units for SQL dialects you won't use. To register an SQL dialect, just use a unit named Aurelius.SQL.XXX where XXX is the name of the SQL dialect. The following table lists all current SQL dialects supported, the exact string identifier, and the unit you must add to your project in order for the dialect to be registered.

 

SQL dialect

String identifier

Declared in unit

Database Web Site

Absolute Database

AbsoluteDB

Aurelius.Sql.AbsoluteDB

http://www.componentace.com

DB2

DB2

Aurelius.Sql.DB2

http://www.ibm.com

ElevateDB

ElevateDB

Aurelius.Sql.ElevateDB

http://www.elevatesoftware.com

Firebird

Firebird

Aurelius.Sql.Firebird

http://www.firebirdsql.org

Firebird3 (*)

Firebird3

Aurelius.Sql.Firebird3

http://www.firebirdsql.org

Interbase

Interbase

Aurelius.Sql.Interbase

http://www.embarcadero.com

Microsoft SQL Server

MSSQL

Aurelius.Sql.MSSQL

http://www.microsoft.com/sqlserver

MySQL

MySQL

Aurelius.Sql.MySql

http://www.mysql.com

NexusDB

NexusDB

Aurelius.Sql.NexusDB

http://www.nexusdb.com

Oracle

Oracle

Aurelius.Sql.Oracle

http://www.oracle.com

PostgreSQL

PostgreSQL

Aurelius.Sql.PostgreSQL

http://www.postgresql.org

SQL Anywhere

SqlAnywhere

Aurelius.Sql.SqlAnywhere

https://www.sap.com/products/sql-anywhere.html

SQLite

SQLite

Aurelius.Sql.SQLite

http://www.sqlite.org

 

Note that in some situations, the adapter is not able to identify the correct dialect. It can happen, for example, when you are using ODBC or just another data access component in which is not possible to tell which database server the component is trying to access. In this case, when creating the adapter, you can use an overloaded constructor that allows you to specify the SQL dialect to use:

 

MyConnection := TDBExpressConnectionAdapter.Create(SQLConnection1, 'MSSQL', False);

 

When using a native database driver, the SQL dialect is implicit from the driver you use and there is no need to specify it. The native driver already uses the sql dialects and schema importer units automatically.

 

(*) The difference between Firebird and Firebird3 is that the latter uses boolean fields and identity fields by default. Please check Configuring SQL Dialects for more details on how to configure specific SQL dialects.