Поставщик Microsoft.Jet.OLEDB.4.0 не зарегистрирован на локальном компьютере. - PullRequest
3 голосов
/ 14 ноября 2009

Может кто-нибудь помочь мне с этой ошибкой? Когда я пытаюсь открыть соединение с mdb, я получаю сообщение об ошибке «Поставщик« Microsoft.Jet.OLEDB.4.0 »не зарегистрирован на локальном компьютере». Как я могу это исправить?

Мой код довольно прост:

class ImportTDB {
    private string filename;
    private string connectionString;

    private int collisions = 0;

    public ImportTDB(String filename) {
        this.filename = filename;
        this.connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filename;
    }

    public void loadCustomerList() {
        DataTable dt = new DataTable();
        using (OleDbConnection conn = new OleDbConnection(connectionString)) {
            OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM Names", conn);
            conn.Open();
            adapter.Fill(dt);
            conn.Close();
        }

        Console.WriteLine(dt.ToString());
    }
}

Ответы [ 2 ]

10 голосов
/ 14 ноября 2009

Это связано с тем, что * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 642 * * * 642 * '. Вам нужно скомпилировать вашу программу для x86. В свойствах проекта на вкладке «Построение» установите для целевой платформы значение x86.

5 голосов
/ 06 января 2010

Если вы запускаете приложение в 64-битной ОС, Microsoft выпустила бета-версию драйвера системы Office 2010: компоненты подключения к данным, которая поддерживается как в 32-битной, так и в 64-битной ОС. Поэтому использование этого драйвера вместо традиционного драйвера Microsoft.Jet.OLEDB.4.0 даст нам 64-битное приложение, работающее на 64-битном сервере (это то, что нам действительно нужно).

Хотя это бета-версия, у меня все работало нормально.

Вы можете загрузить этот драйвер с 2010 Бета-версия драйвера для системы Office: Компоненты подключения к данным

Thnks

...