Today, when I used an OLD DB source to connect a MS Access database, I met the following message error during debug :
[Connection manager “\DVDSIB46\d$\DVI_Datas\Source\Dise\EXTRACTION DONNEES MOBILITE.accdb”] Error: The requested OLE DB provider Microsoft.ACE.OLEDB.12.0 is not registered. If the 64-bit driver is not installed, run the package in 32-bit mode. Error code: 0x00000000. An OLE DB record is available. Source: “Microsoft OLE DB Service Components”
Hresult: 0x80040154 Description: “Class not registered”.
The message suggests me to use 32-bit driver because the driver of 64-bit is not available. This is caused by the MS Access provider.
In order to resolve this problem, I configured the SSIS pakcages to run by referencing the 32-bit dlls :
- Right click on Project solution
- Click Properties
- Go to Configuration Properties > Debugging
- Set
Run64BitRunTime
toFalse
Here’s the result :
The above configuration does make SSIS run in 32 bit runtime in debug mode, but for production environment, we need to configure the execution step in 32-bit in Job Step Properties:
However, I doubt whether we should set the whole project to run under 32-bit or should we just install the MS Access driver in 64-bit ? But is it available for SSDT ?