C # Подключение к Access DB без установки - PullRequest
0 голосов
/ 25 сентября 2019

У меня есть база данных Access (.accdb), и я пытаюсь подключиться к ней с помощью приложения WPF.

Похоже, у меня нет Microsoft.ACE.OLEDB.12.0;установлен.

Результаты:

    OleDbEnumerator enumerator = new OleDbEnumerator();
    var t = enumerator.GetElements();
    var a = "s";
    foreach (DataRow row in t.Rows)
    {
        Console.WriteLine(row[0]);
    }

на процессоре x86 Дает следующие результаты

SQLOLEDB
MSDMine
MSDataShape
SQLNCLI11
ADsDSOObject
MSOLEDBSQL
MSOLEDBSQL Enumerator
MSDMine Enumerator
SQLNCLI11 Enumerator
Windows Search Data Source
MSOLAP
MSOLAP
MSDASQL
MSDASQL Enumerator
MSOLAP
MSOLAP
Microsoft.Jet.OLEDB.4.0
SQLOLEDB Enumerator
MSDAOSP
MSDAORA

и на 64 я получаю следующее

SQLOLEDB
MSDataShape
SQLNCLI11
ADsDSOObject
MSOLEDBSQL
MSOLEDBSQL Enumerator
SQLNCLI11 Enumerator
Windows Search Data Source
MSDASQL
MSDASQL Enumerator
MSOLAP
MSOLAP
SQLOLEDB Enumerator
MSDAOSP

Теперь у меня проблема в том, что я и мои пользователи не обладаем правами администратора на наших компьютерах, поэтому об установке нового драйвера не может быть и речи (поэтому я не могу использовать бесплатный Microsoft.ACE.Oledb.12.0).

Как мне перейти и развернуть приложение WPF, которое может подключаться к базе данных доступа (accdb, а не mdb) и не требует от меня или какого-либо пользователя установки чего-либо, за что администратор должен пройти и ввести свои учетные данные?

На данный момент я хочу переписать свое приложение, чтобы убедиться, что оно работает в 86, если там есть решение.

Плохое предположение: я думаю, что у пользователя будут установлены те же драйверы, что и у меня здесь.

Примечание. У меня есть программы Excel VBA, которые могут подключаться к базе данных Access, поэтому драйвер, по-моему, существует где-то там.

...