Я разрабатываю плагин для AutoCAD и мне нужно читать данные из Microsoft Access. Но у меня всегда было исключение:
поставщик 'microsoft.xxx.oledb.x.0' не зарегистрирован на локальном компьютере
Windows 10 1803 + Office 365 + Microsoft Access Database Engine 2010 + Autodesk AutoCAD 2015
Код юнит-теста:
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();
...
тест пройден
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();
...
исключение: the 'microsoft.ace.oledb.12.0' provider is not registered on the local machine
Код плагина CAD:
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();
...
исключение: 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();
...
все в порядке.
Тот же код, другой результат, почему?