Database Drivers
	The LLBLGen Pro system uses specific database drivers per database vendor, using the 'provider model'. 
	The drivers themselves use the ADO.NET 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 2000/2005/2008/2008R2/2012 driver using .NET's SqlClient
- Oracle 9i/10g/11g driver using Oracle's own ODP.NET
- Oracle 9i/10g/11g driver using .NET's Oracle client (requires 
		Oracle's OCI to be installed)
- MySql 4.x/5.x driver using either CoreLab's MySqlDirect or 
		DevArt's MySqlDirect client
- IBM DB2 7.x/8.x /9.x/10.x driver using IBM's own DB2 client
- Firebird 1.x/2.x driver using the Firebird official client
- PostgreSql 7.4+/8.x/9.x driver using Npsql
- Sybase Adaptive Server Enterprise (ASE) 12.x+ driver using Sybase's 
		Ase client
- Sybase iAnywhere (ASA) v8.x+ driver using Sybase's Asa client
- Microsoft Access 2000/XP/2003/2007/2010/2013 driver using .NET's OleDb 
		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.
	
	
		
			|  Note: | 
		
			| As the LLBLGen Pro designer works with the .NET 2.0+ 
			DbProviderFactory system, it's key that all ADO.NET providers used 
			by you are built for .NET 2.0 and support the DbProviderFactory 
			system. E.g. for Oracle ODP.NET, older .NET 1.x 9i builds aren't 
			supported as they don't support DbProviderFactory. When in doubt, 
			download the latest ADO.NET provider for your database from the 
			vendor's website. | 
	
	
	Supported features per database driver
	Each database driver supports a variety of features and these are listed below. 
	General
	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. 
	Microsoft SQL Server
	
		  - SQL Server 2000: Scope_identity() and all SqlServer 2000 specific types.
- SQL Server2005+: Xml datatype, Varchar(MAX) and Varbinary(MAX), all database constructs, including User Defined Types (UDTs) written in .NET, table valued functions 
		  and synonyms for Tables and Views (not for linked servers). No support 
		  for XQuery queries.
- SQL Server 2008+: All SQL Server 2005 features as well as the 4 new types: Date, DateTime2, DateTimeOffset and Time.
- SQL Server 2012: All 2008 features as well as sequences.
- Multiple catalogs per project.
- Multiple schemas per catalog.
Oracle, using ODP.NET
	
		  - Oracle 9i or higher.
- Tables, views, sequences, table valued functions and procedures.
- Synonyms for tables, views and sequences.
- REF CURSOR output parameters in procedures.
- All native Oracle types, including *LOB and synonyms for types 
		  like the type INT and XMLType
- Multiple schemas per project
- No support for user defined types.
- No support for overloaded stored procedures in the same package
Oracle, using Microsoft Oracle Client (System.Data.OracleClient)
	For supported features, see Oracle (ODP.NET). Microsoft's Oracle provider 
	requires an Oracle client present on the system, please consult the 
	Microsoft Oracle provider documentation in the .NET reference manual.
	Restrictions in the Microsoft Oracle provider:	
	
		- XMLType is not supported by LLBLGen Pro and the MS Oracle driver, as that type isn't supported by the Microsoft Oracle provider. If you need to use this type, use the ODP.NET version of the Oracle driver.
- All NUMBER(x, y) types are seen as System.Decimal. This can be a huge disadvantage. In that case, consider using an ODP.NET based driver
Firebird
	
		  - All features of Firebird 1.5 and higher, except array types.
- Dialect 3 only.
PostgreSql
	
		  - All features of PostgreSql 7.4 or higher, including table valued function, except array types.
- All datatypes supported by Npgsql are supported.
- Multiple schemas per catalog
		
			|  Note: | 
		
			| To make the designer work with the Npgsql ADO.NET provider installed on 
	your system, make sure the DbProviderFactory declaration for the Npsql 
	ADO.NET provider in the LLBLGenPro.exe.config file in the LLBLGen Pro 
	installation folder matches the version and file path of your system. The 
	Npsql ADO.NET provider doesn't install itself in the machine.config so its 
	DbProviderFactory isn't known by the .NET CLR and has to be defined on a 
	per-application basis through the application's .config file. | 
	
	
	Microsoft Access
	
		  - All features of MS Access 2000, except parameterized stored queries, so no stored procedure calls
- Database passwords, security files are supported.
Required for Microsoft Access: OleDB driver for Jet v4.0, which is shipped with MDAC 2.5 or higher (a requirement for .NET so these are installed) and a .mdb file
	in the MS Access 2000 format or higher. For MS Access 2007/2010/2013, an OleDB 
	ACE driver v12 or higher is required. 
	
		
			|  Note: | 
		
			| If you want to run LLBLGen Pro on a 64bit windows system and 
			you want to retrieve Relational Model Data from an MS Access 
			database, you will run into the limitation that Microsoft still 
			hasn't shipped a 64bit MS Access JET driver. To overcome this, 
			please run the LLBLGen Pro designer as a 32bit application. To do 
			so, please use the 32bit enforcer helper executable 
			LLBLGenPro_x86.exe which is located in the LLBLGen Pro 
			installation folder and which will run the designer in 32bit, 
			regardless whether you have a 64bit OS or not. If you want to use the newer Microsoft Access Database Engine 
			(ACE driver) which is supported on 64bit windows and which can also work with .accdb files (MS Access 
			2007/2010/2013), please 
	visit this link at the Microsoft download center to obtain the engine to 
			make the LLBLGen Pro MS Access driver work properly on 64bit and 
			with .accdb files. | 
	
	IBM DB2 UDB
	
		  - IBM DB2 UDB v7.x/8.x/9x/10.x.
- Tables, views, sequences, identity columns and procedures. 
- All native IBM DB2 UDB types, including *LOB.
- Multiple schemas per catalog.
- No support for user defined types. 
- No support for table / view alias definitions inside the schema. A table / view 
		schema alias is a public alias for an existing schema table and defined as such in the
		  		schema. 
- No support for iSeries DB2 installations.
Required for DB2: IBM DB2 .NET provider, shipped with the latest ClientAccess version, also available through the DB2 personal edition installation, or
	through the IBM website for DB2 licensees. 
	MySql
	
		  - MySql v4.x (4.1 or higher with InnoDB preferred) or v5.x
- Tables, identity columns, primary keys, unique constraints
- All native MySql types except SET and ENUM (which will be converted to VarChar).
- v4.x: No support for database defined foreign keys. Foreign key constraint meta-data
		  	 defined in the database isn't read by the MySql driver from a v4.x MySql database.
- Support for stored procedures (v5.x+).
- Multiple catalogs per project
Required for MySql: DevArt's MySqlDirect.NET provider v5.x or higher.
	
	Sybase Adaptive Server Enterprise (ASE)
	
		- All features of Sybase Adaptive Server Enterprise v12.x+ are supported except Java based types and proxy tables
- Multiple catalogs per project.
- Multiple schemas per catalog.
- Floats with precision < 16 are mapped on System.Single, floats with precision >= 16 are mapped on System.Double
- Output parameters for procedures aren’t  recognized, as Sybase ASE doesn’t store this information in the meta-data, so  output parameters are always seen as input parameters.		
- Grouped (overloaded) procedures are supported.
- numeric identity (Identity columns) are always  set to DBType ‘int’. 
Sybase iAnywhere (ASA)
	
		- All features of v8.x or higher are supported except Java based types and proxy tables
- Owners ‘SYS’, ‘dbo’, ‘SA_DEBUG’,  ‘rs_systabgroup’ are filtered out. 
- (Long)varbit bitarrays are mapped to strings.
- Users should specify the database service name for  the service to connect to, not the server name (or IP address) the database service  runs on.
- Multiple schemas per catalog.