I'm developing a plugin for AutoCAD and need to read data from Microsoft Access. But I always got an Exception:
the 'microsoft.xxx.oledb.x.0' provider is not registered on the local machine
Windows 10 1803 + Office 365 + Microsoft Access Database Engine 2010 + Autodesk AutoCAD 2015
UnitTest code:
var path = "path_to_mdb_file");
var connectionString = $"Provider=Microsoft.Jet.OLEDB.4.0;Data source={path}";
using (var connection = new OleDbConnection(connectionString))
{
connection.Open();
...
test passed
var path = "path_to_mdb_file");
var connectionString = $"Provider=Microsoft.ACE.OLEDB.12.0;Data source={path}";
using (var connection = new OleDbConnection(connectionString))
{
connection.Open();
...
exception: the 'microsoft.ace.oledb.12.0' provider is not registered on the local machine
CAD plugin code:
var path = "path_to_mdb_file");
var connectionString = $"Provider=Microsoft.Jet.OLEDB.4.0;Data source={path}";
using (var connection = new OleDbConnection(connectionString))
{
connection.Open();
...
exception: the 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine
var path = "path_to_mdb_file");
var connectionString = $"Provider=Microsoft.ACE.OLEDB.12.0;Data source={path}";
using (var connection = new OleDbConnection(connectionString))
{
connection.Open();
...
everything is ok.
Same code, different result, Why?