Подключение OLEDB к базе данных Access (accdb)

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

моя программа выглядит так:

using System;
using System.Collections.Generic; 
using System.Data;
using System.Data.OleDb;
using System.Linq;
using System.Web;

namespace myProject.Account
{
    public class DbManager
    {
       private OleDbConnection _dbConnection;

       public void OpenDbConnection()
       {
        _dbConnection = new OleDbConnection {ConnectionString = GetConnectionString()};
       }

       private string GetConnectionString()
       {
        return "Provider=Microsoft.ACE.OLEDB.14.0;Data Source=exercise1.accdb";
       }

       public void CloseDbConnection()
       {
        _dbConnection.Close();
       }

       public void GetUser()
       {
        DataSet myDataSet = new DataSet();
        var myAdapptor = new OleDbDataAdapter();
        OleDbCommand command = new OleDbCommand("SELECT * FROM tblUser", _dbConnection);
        myAdapptor.SelectCommand = command;
        myAdapptor.Fill(myDataSet, "tblUser");
       } 

    }
  }

Я использую Visual Studio 2010. Когда я тестирую свое приложение, используя встроенный режим отладки " запуск без отладки "(CTRL+F5), я получаю эту ошибку:

' Microsoft.ТУЗ.Oledb для.14.0' поставщик не зарегистрирован на локальном компьютере.

Я попытался загрузить и установите "распространяемый компонент Microsoft Access Database Engine 2010" (64 бит) из Microsoft omepage:http://www.microsoft.com/download/en/details.aspx?id=13255

к сожалению, это sah не решил проблему. Я все еще получил ошибку, когда myAdapptor.Заполнить() выполняется. Что случилось?

4 ответов


вам нужно Access 2007 Runtime.


для других, которые заинтересованы в моем решении, я понял, что Microsoft.ТУЗ.Oledb для.14.0 не поддерживается для Access 2010. Вместо этого я использовал Microsoft.ТУЗ.Oledb для.12.0

вы можете скачать их "2007 драйвер системы Office: компоненты подключения к данным" с этого сайта:2007 Драйвер Системы Office: Компоненты Подключения К Данным


была аналогичная проблема, но просто план старый MDB в моем случае. Поставщик=Microsoft.Реактивный.Oledb для.4.0 делает трюк для этого, нет необходимости загружать дополнительные среды выполнения.


добавить с помощью System.Data.OleDb библиотека.

теперь подключение строка

OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Aishwar NIGAM\Documents\indianOil.accdb");