Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.94/358: Рейтинг темы: голосов - 358, средняя оценка - 4.94
subzero
16 / 14 / 6
Регистрация: 21.03.2010
Сообщений: 51
1

Microsoft.ACE.OLEDB.12.0" не зарегистрирован на локальном компьютере

05.05.2010, 02:39. Просмотров 74231. Ответов 17
Метки нет (Все метки)

C#
1
2
3
OleDbConnection DBCon = new OleDbConnection();
            DBCon.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + @"C:\Users\mr.Magaramov\Documents\Visual Studio 2008\Projects\lingvo\basa.accdb" + "Persist Security Info=false";
            DBCon.Open();
выдает ошибку "Поставщик "Microsoft.ACE.OLEDB.12.0" не зарегистрирован на локальном компьютере." винда 7 . подскажите пожал-та что делать??
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2010, 02:39
Ответы с готовыми решениями:

Microsoft.ACE.OLEDB.12.0" не зарегистрирован на локальном компьютере
Возникает такая ошибка: Microsoft.ACE.OLEDB.12.0" не зарегистрирован на локальном компьютере...

Поставщик "Microsoft.ACE.OLEDB.12.0" не зарегистрирован на локальном компьютере
При попытке подключить к C# проекту бд ms access 2013 или 2016 выдает ошибку: Поставщик...

Поставщик "Microsoft.ACE.OLEDB.12.0" не зарегистрирован на локальном компьютере
string filename = "Overtimes _24W.xlsm"; string strConn =...

Поставщик "Microsoft ACE.OLEDB.12.0" не зарегистрирован на локальном ПК
Программа полгода работала нормально с 13-м офисом и 15-ой студией. Хотел поменять фреймворк, в...

Поставщик "Microsoft.Jet.OLEDB.4.0" не зарегистрирован на локальном компьютере.
Как исправить? (на Win7 64-bit)

17
f-art
28 / 28 / 1
Регистрация: 06.04.2011
Сообщений: 64
30.05.2011, 16:00 2
subzero,

Мне с ошибкой "Поставщик "Microsoft.ACE.OLEDB.12.0" не зарегистрирован на локальном компьютере." на Windows 7 х64 помог переход на построение решений в режиме х86.

Вот инструкция:

1.В MS Visual Studio, зайти в меню "Сервис" -> "Параметры".
2.В нижнем левом углу диалогового окна "Параметры", установить флажок: "Показать все настройки".
3.В дереве на левой стороне, выбрать пункт "Проекты и решения".
4.В параметрах справа, установите флажок: "Показывать дополнительные конфигурации построения".
5.Нажать ОК.
6.В войти в меню "Построение" -> "Диспетчер конфигураций..."
7.В колонке "Платформа" из строки с проектом, щелкните по выпадающему списку и выберать пункт "Создать...".
8.В меню "Новая платформа" выбрать "x86". Нажать ОК. Нажать "Закрыть".
10
Winsor
330 / 266 / 18
Регистрация: 19.01.2011
Сообщений: 597
30.05.2011, 18:41 3
Можно попробовать поставить x64 сборку Microsoft Access Database Engine 2010 Redistributable. Доступна с сайта производителя.
0
f-art
28 / 28 / 1
Регистрация: 06.04.2011
Сообщений: 64
30.05.2011, 19:00 4
Цитата Сообщение от Winsor Посмотреть сообщение
Можно попробовать поставить x64 сборку Microsoft Access Database Engine 2010 Redistributable. Доступна с сайта производителя.
Сборку ставил, но не помогало. Потом просто поменят на х86 и заработало.
1
30.05.2011, 19:00
paa66
25 / 26 / 4
Регистрация: 12.12.2011
Сообщений: 197
02.07.2013, 21:32 5
Я сделал следующим образом: зашёл в Свойства своего проекта, там во вкладке Компиляция в разделе Параметры компиляции есть комбобокс с надписью выше Целевой CPU. Здесь я выбрал AnyCPU и всё пошло!
2
nkYellOw
14 / 14 / 7
Регистрация: 23.10.2012
Сообщений: 43
16.10.2013, 08:50 6
Цитата Сообщение от paa66 Посмотреть сообщение
Я сделал следующим образом: зашёл в Свойства своего проекта, там во вкладке Компиляция в разделе Параметры компиляции есть комбобокс с надписью выше Целевой CPU. Здесь я выбрал AnyCPU и всё пошло!
Сделал как Вы написали, мне помогло! Была проблема с х64 на сервере...
0
IvanSh
6 / 6 / 2
Регистрация: 20.01.2015
Сообщений: 67
29.04.2015, 20:53 7
Проект/Свойства/Сборка убрать галочку Предпочтительно х32.
Поставить Конечная платформа: AnyCPU
4
Alex_Gur
44 / 44 / 6
Регистрация: 28.04.2015
Сообщений: 150
Записей в блоге: 4
Завершенные тесты: 2
23.10.2015, 22:05 8
Цитата Сообщение от f-art Посмотреть сообщение
Вот инструкция:
1.В MS Visual Studio, зайти в меню "Сервис" -> "Параметры".
2.В нижнем левом углу диалогового окна "Параметры", установить флажок: "Показать все настройки".
3.В дереве на левой стороне, выбрать пункт "Проекты и решения".
4.В параметрах справа, установите флажок: "Показывать дополнительные конфигурации построения".
5.Нажать ОК.
6.В войти в меню "Построение" -> "Диспетчер конфигураций..."
7.В колонке "Платформа" из строки с проектом, щелкните по выпадающему списку и выберать пункт "Создать...".
8.В меню "Новая платформа" выбрать "x86". Нажать ОК. Нажать "Закрыть".
Большое спасибо! Мне это тоже помогло.
0
LIMONIUS
0 / 0 / 0
Регистрация: 12.11.2015
Сообщений: 19
23.10.2016, 00:17 9
Тоже помогло.
0
Dilovar Azimov
0 / 0 / 0
Регистрация: 11.04.2014
Сообщений: 3
18.04.2017, 14:05 10
Спасибо. Мне помогло.
0
RunningMan
170 / 144 / 66
Регистрация: 12.04.2017
Сообщений: 604
Записей в блоге: 2
15.09.2017, 00:35 11
Подниму тему.
Кто-то знает Что ещё может быть ?
Всё перепробовал и пока не победил проблему.
Не могу связать Access 2016 и C# приложение, получаю ошибку The 'Microsoft.ACE.OLEBD.12.0' provider is not registered on the local machine.
Microsoft Access Database Engine 2016 Redistributable -- на месте (обновил пока искал решение).
ОС Windows 64.
Спасибо.
0
OwenGlendower
Супер-модератор
Эксперт .NET
10597 / 9109 / 3883
Регистрация: 17.03.2014
Сообщений: 18,237
Записей в блоге: 1
Завершенные тесты: 2
15.09.2017, 00:46 12
RunningMan, посмотри названия установленных провайдеров с помощью OleDbEnumerator и используй тот который поддерживает Access
C#
1
DataTable providers = (new OleDbEnumerator()).GetElements();
1
RunningMan
170 / 144 / 66
Регистрация: 12.04.2017
Сообщений: 604
Записей в блоге: 2
15.09.2017, 01:48 13
Пока не пойму. Вроде всё на месте

C#
1
2
3
4
5
6
   OleDbEnumerator enumerator = new OleDbEnumerator();
            DataTable table = enumerator.GetElements();
            foreach (DataRow row in table.Rows)
            {
                 Console.WriteLine("{0}", row["SOURCES_NAME"].ToString());
            }
SQLOLEDB
MSOLAP
MSOLAP
MSDataShape
SQLNCLI11
ADsDSOObject
SQLNCLI11 Enumerator
Windows Search Data Source
MSDASQL
MSDASQL Enumerator
Microsoft.Jet.OLEDB.4.0
SQLOLEDB Enumerator
MSDAOSP
MSDAORA
MSOLAP
MSOLAP
Добавлено через 3 минуты
OwenGlendower, Microsoft.ACE.OLEBD.12.0' менял на Microsoft.Jet.OLEDB.4.0.
Получаю незарегистрированный формат базы Access
Unrecognized database format 'MyBase.accdb'.


В настройках базы: режим открытия по умолчанию установлен -- общий доступ.

C базами формата .mdb всё получается. Test connection succeeded.
0
OwenGlendower
Супер-модератор
Эксперт .NET
10597 / 9109 / 3883
Регистрация: 17.03.2014
Сообщений: 18,237
Записей в блоге: 1
Завершенные тесты: 2
15.09.2017, 02:26 14
RunningMan, попробуй изменить платформу для приложения. Возможно провайдер установился только для x64, а приложение x86. Если так и есть, то можно работать на этой платформе или доустановить Redistributable компоненты.
1
RunningMan
170 / 144 / 66
Регистрация: 12.04.2017
Сообщений: 604
Записей в блоге: 2
15.09.2017, 03:34 15
Цитата Сообщение от OwenGlendower Посмотреть сообщение
попробуй изменить платформу для приложения.
Независимо от платформы
Unrecognized database format 'MyBase.accdb'.
Цитата Сообщение от OwenGlendower Посмотреть сообщение
или доустановить Redistributable компоненты
Всё установлено, вообще офис обновляется периодически.
0
OwenGlendower
Супер-модератор
Эксперт .NET
10597 / 9109 / 3883
Регистрация: 17.03.2014
Сообщений: 18,237
Записей в блоге: 1
Завершенные тесты: 2
15.09.2017, 14:31 16
RunningMan, я неточно выразился. Нужно сравнить какие провайдеры доступны на разных платформах.

Цитата Сообщение от RunningMan Посмотреть сообщение
Независимо от платформы
Unrecognized database format 'MyBase.accdb'.
Логично. Изменение платформы не научит провайдер работать с другим форматом базы. Это я неточно совет дал.
1
RunningMan
170 / 144 / 66
Регистрация: 12.04.2017
Сообщений: 604
Записей в блоге: 2
15.09.2017, 14:51 17
Спасибо. Попозже буду разбираться.
0
WersaT
2 / 1 / 1
Регистрация: 23.10.2010
Сообщений: 147
13.02.2019, 23:26 18
Здравствуйте!
Очень полезная тема, спасибо за ответы, мне они помогли.
Но далее возник вопрос. Пи попытке подключиться к БД access выдает такую ошибку
"System.InvalidOperationException: "Для поставщика OLE DB данных .Net Framework Data Providers требуются компоненты доступа к данным Майкрософт (MDAC). Установите компоненты Microsoft Data Access Components MDAC version 2.6 или более поздней версии."
Внутреннее исключение
COMException: Не удалось получить фабрику класса COM для компонента с CLSID {2206CDB2-19C1-11D1-89E0-00C04FD7A829} из-за следующей ошибки: 80040154 Класс не зарегистрирован (Исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))."

Microsoft Data Access Components MDAC version 2.6 - вот эту штуку (только версии 2,8) я скачал, установил, но это не помогло. А что дальше делать я не знаю. Помогите пожалуйста!
0
13.02.2019, 23:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.02.2019, 23:26

Поставщик "Microsoft.Jet.OLEDB.4.0" не зарегистрирован на локальном компьютере
Необходимо подключить базу данных (access) к проекту, причем через интерфейс подключается без...

Поставщик "Microsoft.Jet.OLEDB.4.0" не зарегистрирован на локальном компьютере
Всем доброго дня Создала Class Library для подгрузки в AutoCAD, назначение которой - считывать...

Поставщик oledb 12 не зарегистрирован на этом компьютере
Написал программку для работы с бд, но вот проблема, на 7ке она запускается, а на 8ке выдает ошибку...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru