Microsoft Access

Requirements

Microsoft Access support relies on the OleDB ADO.NET provider included in .NET and the OleDB driver or JET 4.0 for MS Access. This OleDB driver is shipped with MDAC 2.5 or higher (a requirement for .NET so these are installed).

Additionally you have to have access to either a .mdb file in the MS Access 2000 format or higher or a .accdb file for MS Access 2007 or higher. For .accdb files, an OleDB ACE driver v12 or higher is required. This driver the ACE driver, which is installed by MS Office, can be obtained separately by visiting this link at the Microsoft download center. The accdb driver supports 64bit windows.

Info

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 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.

Supported features

Feature Supported
Minimal database version MS Access 2000
Database types All built-in types
User defined types No
Foreign key constraints Yes
Primary key constraints Yes
Unique constraints Yes
Check constraints No
Default values Yes
Unique indexes No
Tables Yes
Views Yes
Stored Procedures No
Table Valued Functions No
(System versioned) Temporal tables No
Synonyms No
Cascade delete rules Yes
Cascade update rules No
Identity fields Yes
System sequences Yes
Schema based sequences No
Multiple catalogs per project No
Multiple schemas per catalog No
Linked servers No

Type mappings

Below you'll find the two type mapping tables used by the MS Access driver of LLBLGen Pro. One is used for Database First development, the other is used for Model First development. In case of Model First development, you can add your own type shortcuts to define a different target database type, in case the default mappings aren't what you need in a particular case.

Global model-first type overruling

For Model first, there are often multiple database types defined per .NET Type and a given filter. To prefer one over the other on a global level, please look at the following settings in the Relational model data element construction section of the Project Settings:

  • Prefer decimal over currency types

Database first type mappings

You can control the .NET type during reverse engineering in database first development by defining Type Conversions in the Project Settings, which are based on Type Converters.

Database type .NET Type
Byte System.Byte
Currency System.Decimal
DateTime System.DateTime
Decimal System.Decimal
Double System.Double
Integer System.Int16
LongInteger System.Int32
Memo System.String
OleObject System.Byte[]
ReplicationID System.Guid
Single System.Single
Text System.String
YesNo System.Boolean

Model first type mappings

If specified, the filter is combined with the .NET type to determine the database type. The elements length, precision and scale are the max. length, precision and scale of an entity field with the particular .NET Type.

If a controlling setting is specified, that setting has to be set to the specified value (in the Relational model data element construction section of the Project Settings) to make the designer select that database type.

.NET Type Filter Database type Controlling setting and value
System.Bool YesNo
System.Byte Byte
System.Byte[] OleObject
System.DateTime DateTime
System.Decimal 0 < precision <=19 and 0 < scale <= 4 Currency Prefer decimal over currency types set to false
System.Decimal Decimal(precision, scale) Prefer decimal over currency types set to true
System.Double Double
System.Guid ReplicationID
System.Int16 Integer
System.Int32 LongInteger
System.Single Single
System.String 0 < length < 256 Text
System.String length==0 or length >= 256 Memo

Supported target frameworks

The following target frameworks are supported with MS Access:

  • LLBLGen Pro Runtime Framework