Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.03.2017, 11:31   #1
aleksskay
Форумчанин
 
Регистрация: 20.12.2011
Сообщений: 102
По умолчанию Работа с access с разными версиями .NET - C#

Среда Visual Studio 2015. Когда по умолчание стоит версия 4.6 такой код работает, а когда меняю на версию 4, то нет.
Когда меняю версию выдает ошибку " Поставщик "Microsoft.Jet.OLEDB.4.0" не зарегистрирован на локальном компьютере."
Как быть ? Мне нужно создать приложение работающий с access 2007 на .NET 4.
Код:
 OleDbConnection con = new OleDbConnection();
            con.ConnectionString = @"Provider = Microsoft.Jet.OLEDB.4.0; Data Source = Database.mdb";
            con.Open();
            OleDbCommand com = new OleDbCommand("select * from Tasks", con);
            DataSet dataSet = new DataSet();
            OleDbDataAdapter adapter = new OleDbDataAdapter(com);
            adapter.Fill(dataSet);
            dataGridView1.DataSource = dataSet.Tables[0];
aleksskay вне форума Ответить с цитированием
Старый 01.03.2017, 13:05   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от aleksskay Посмотреть сообщение
Как быть ?
Страдать, с Акцесс всегда такие проблемы
http://www.programmersforum.ru/showt...11#post1636170

По-моему там нужны разные ADO.NET провайдеры для х86 и х64 ОС.

Возможно заработает если заменить Microsoft.Jet.OLEDB.4.0 на Microsoft.ACE.OLEDB.12.0
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 01.03.2017, 13:18   #3
aleksskay
Форумчанин
 
Регистрация: 20.12.2011
Сообщений: 102
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Возможно заработает если заменить Microsoft.Jet.OLEDB.4.0 на Microsoft.ACE.OLEDB.12.0
При этом у меня работает. Но у другого установлена семерка и .NET 4 там и при таком провайдере не работает.
aleksskay вне форума Ответить с цитированием
Старый 01.03.2017, 13:36   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну если одно работает только тут, а другое только там, то можно просто при подключении пытаться использовать их по-очереди и выдавать ошибку только если оба не заработали.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 01.03.2017, 14:09   #5
aleksskay
Форумчанин
 
Регистрация: 20.12.2011
Сообщений: 102
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Ну если одно работает только тут, а другое только там, то можно просто при подключении пытаться использовать их по-очереди и выдавать ошибку только если оба не заработали.
Не совсем так. На другом семерка, Access 2007 и .NET 4 ни при одном, ни при другом не работает.
aleksskay вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с потоками с разными приоритетами. Функция GetThreadTimes() Korlet Помощь студентам 1 12.04.2016 08:30
Работа с разными списками maksim.i C# (си шарп) 6 10.11.2014 15:20
Какую бесплатную систему управления версиями выбрать для .NET проектов? programisto C# (си шарп) 7 10.06.2013 21:30
Проблема с версиями tools Общие вопросы C/C++ 0 22.12.2008 12:17