The LLBLGen Pro system uses specific database drivers per database
vendor, using the 'provider model'. The drivers themselves use the
DbProviderFactory system to avoid a hard-linked reference to a
specific ADO.NET provider assembly version. The drivers are exclusively
used by the designer, the generated code uses the SQL engines of the
chosen target framework. LLBLGen Pro ships with the following drivers:
- Microsoft SQL Server driver using .NET's SqlClient
- Oracle driver using Oracle's own ODP.NET
- Oracle driver using .NET's Oracle client (requires Oracle's OCI to be installed)
- MySql driver using DevArt's MySqlDirect client (the express version is OK)
- IBM DB2 driver using IBM's own DB2 client
- Firebird driver using the Firebird official client
- PostgreSql driver using Npsql
- Microsoft Access driver using .NET's OleDb client
- Google Cloud Spanner using the official Google.Cloud.Spanner.Data client.
A database driver is used to connect to a database server and to retrieve all available schema information for the credentials and connection information specified. This information is then stored in LLBLGen Pro's own format inside the project in Relational Model Data storage containers.
Each driver which supports unique constraints will only retrieve unique constraint meta-data, not unique indexes. The drivers consider indexes as part of the data, not the model. Unique indexes are therefore ignored. If you have unique indexes instead of unique constraints in your database, please define them as unique constraints with separate indexes instead. The unique constraints are then picked up by the drivers.
For a more in-depth overview of what features are supported per database, please see the Supported databases and their specifics section.