Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/22: Рейтинг темы: голосов - 22, средняя оценка - 4.55
andryshka69
3 / 3 / 0
Регистрация: 26.11.2013
Сообщений: 129
1

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

10.06.2015, 20:23. Просмотров 4313. Ответов 16
Метки нет (Все метки)

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  string filename = "Overtimes _24W.xlsm";
            string strConn = String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=\"Excel 12.0;HDR=No;IMEX=1\";Data Source={0}", filename);
            OleDbConnection oConn = new OleDbConnection();
            oConn.ConnectionString = strConn;
            oConn.Open();
 
            OleDbDataAdapter oCmd1 = new OleDbDataAdapter("SELECT * FROM [Overtimes РКЦ$]", oConn);
 
            DataSet oDS = new DataSet();
            oDS.Tables.Add(new DataTable("Overtimes РКЦ"));
            oCmd1.Fill(oDS.Tables["Overtimes РКЦ"]);
 
            //dataGridView1.Rows[i].Cells[j].Value = oDS.Tables["Overtimes РКЦ"].Rows[1][9].ToString();
 
          //  for (int i=0;i<5;i++)
              //  for (int j=0;j<5;j++)
                    dataGridView1.Rows[5].Cells[5].Value = oDS.Tables["Overtimes РКЦ"].Rows[1][9].ToString();
 
            oConn.Close();
не работает, хотя :

C#
1
2
3
4
5
6
7
8
9
10
11
using System;
using System.Data;
using System.Collections.Generic;
using System.Diagnostics;
using System.ComponentModel;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.OleDb;


Господа подскажите где я накосячил!

ошибка: Поставщик "Microsoft.ACE.OLEDB.12.0" не зарегестрирован на локальном компьютере.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2015, 20:23
Ответы с готовыми решениями:

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

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

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

Microsoft.ACE.OLEDB.12.0" не зарегистрирован на локальном компьютере
OleDbConnection DBCon = new OleDbConnection(); DBCon.ConnectionString =...

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

16
Serega1990
8 / 8 / 4
Регистрация: 18.11.2012
Сообщений: 103
10.06.2015, 22:38 2
Какой Access стоит на компьютере? Возможно у вас 12 версии нет! Попробуйте 11.0
0
andryshka69
3 / 3 / 0
Регистрация: 26.11.2013
Сообщений: 129
11.06.2015, 10:07  [ТС] 3
дело в том. что в другом проекте все работает.

Добавлено через 10 часов 2 минуты
аксес 13 на пк.
0
NewOrdered
404 / 181 / 64
Регистрация: 25.05.2012
Сообщений: 833
Записей в блоге: 1
11.06.2015, 10:35 4
andryshka69, может разрядность разная?
x86/x64

Добавлено через 1 минуту
http://stackoverflow.com/questions/1...ase-in-c-sharp
тут пишут
This could be caused by an ACE driver not installed or a 32 bit driver installed but your application is compiled for AnyCPU and you are running on a 64bit operating system. Do you have 32bit Office installed on a 64bit OS?
0
11.06.2015, 10:35
andryshka69
3 / 3 / 0
Регистрация: 26.11.2013
Сообщений: 129
11.06.2015, 12:00  [ТС] 5
я открываю на одном и том же ноутбуке 2 проекта.
оба с одинаковым кодом, в одном работает(т.е. я в другой проект вставляю этот код и все работает), в другом нет.
0
andryshka69
3 / 3 / 0
Регистрация: 26.11.2013
Сообщений: 129
15.06.2015, 20:30  [ТС] 6
ребят проблема актуальна!
0
kodv
1432 / 1105 / 344
Регистрация: 11.04.2011
Сообщений: 2,610
Завершенные тесты: 1
16.06.2015, 08:58 7
Цитата Сообщение от andryshka69 Посмотреть сообщение
я открываю на одном и том же ноутбуке 2 проекта.
оба с одинаковым кодом, в одном работает(т.е. я в другой проект вставляю этот код и все работает), в другом нет.
Ну?.. Где ваша дедукция?... Может проблема все таки не в коде и не в подключенных пространствах имен? У вас на компьютере, где возникает ошибка, нет нужного поставщика данных с нужной разрядностью. Это неоспоримый факт. Переустаовите ACCESS, либо скачайте и установите поставщика данных напрямую (лучше в обеих разрядностях, чтобы уж точно навярника (: ).
0
andryshka69
3 / 3 / 0
Регистрация: 26.11.2013
Сообщений: 129
16.06.2015, 18:15  [ТС] 8
kodv
теперь проверил - код реально не работает даже в другом проекте. мб это связано что файл .xlsm ?

Добавлено через 35 секунд
раньше я его не вызывал и думал что все норм. оказывается нет. посмотрите по коду мб ошибка где!?
я переустановил по вашей ссылке все.
0
kodv
1432 / 1105 / 344
Регистрация: 11.04.2011
Сообщений: 2,610
Завершенные тесты: 1
16.06.2015, 18:28 9
andryshka69, xlsm - это расширение для Excel'я с макросами. В ошибке явно написано об отсутствие поставщика данных. После установки редиста ошибка не изменилась? Как бы глупо не звучал вопрос, но перегружали компьютер после установки?
0
andryshka69
3 / 3 / 0
Регистрация: 26.11.2013
Сообщений: 129
17.06.2015, 00:06  [ТС] 10
kodv, перезагружал конечно

вот проект, гляньте что не так.
у меня теперь мысль что OLEDB с текстбоксами и гридом работает иначе как-то чтоли.. но как ?!

ссылка на скачивание
Кликните здесь для просмотра всего текста
0
kodv
1432 / 1105 / 344
Регистрация: 11.04.2011
Сообщений: 2,610
Завершенные тесты: 1
17.06.2015, 04:46 11
andryshka69, посмотрел проект. Итог следующий.
У меня тоже беда с этим провайдером. Проект собирается для x86 (32-разрядные системы), а у меня офис 64-разрядный. Попытка поставить редист для 32-разрядного ACCESS'а закончился неудачно. Мне было предложено снести мой 64-разрядный офис и повторить попытку. Этого сделано не было, так как в обычной жизни у меня нет необходимости в этом провайдере данных. Я просто поменял целевую платформу проекта на x64 и проблема с провайдером исчезла. Появилась проблема с ISAM. Как оказалось, моя система не в курсе такого расширенного свойства, как Excel 11.0. Изменил его на Excel 12.0 и исклчюений больше не возникло. Хотя сайт http://connectionstrings.com рекомендует для xlsm использовать свойства Excel 12.0 Macro...
Вердикт: проблема в отсутствии 32-разрядного поставщика данных Microsoft.ACE.OLEDB.12.0. Чтобы решить эту проблему вам нужно либо изменить целевую платформу программы, либо установить по человечески поставщика данных Microsoft.ACE.OLEDB.12.0.

Добавлено через 2 минуты
PS: Глянул зачем то первый пост. Как так получилось, что в первом посте стоит правильное свйоство Excel 12.0, а в самом проекте не правильное Excel 11.0?
0
andryshka69
3 / 3 / 0
Регистрация: 26.11.2013
Сообщений: 129
17.06.2015, 17:43  [ТС] 12
kodv, это тестил и менял)

Добавлено через 18 секунд
дома буду проверю
0
andryshka69
3 / 3 / 0
Регистрация: 26.11.2013
Сообщений: 129
01.03.2016, 10:43  [ТС] 13
2 kodv
вновь эта ошибка, только с другим проектном
причем в офисе проявляется на 50% ПК.
0
Luce
21 / 21 / 10
Регистрация: 02.09.2014
Сообщений: 137
Завершенные тесты: 4
01.03.2016, 10:55 14
По данной ошибке на сайте Microsoft 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine error
0
kodv
1432 / 1105 / 344
Регистрация: 11.04.2011
Сообщений: 2,610
Завершенные тесты: 1
01.03.2016, 14:48 15
andryshka69, Раз проблема та же, то и решение должно быть тоже. То есть, необходимо дать программе нужного провайдера данных.
0
andryshka69
3 / 3 / 0
Регистрация: 26.11.2013
Сообщений: 129
02.03.2016, 09:10  [ТС] 16
2 kodv, я уже испробовал многие.
OLEDB.11,10,9,8,7...
0
kodv
1432 / 1105 / 344
Регистрация: 11.04.2011
Сообщений: 2,610
Завершенные тесты: 1
02.03.2016, 12:56 17
andryshka69, что пробовали? В строке подключения циферки менять? Цифра должна быть 12.0. А провайдера нужно установить на соответствующий компьютер, если он отсутствует.
0
02.03.2016, 12:56
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.03.2016, 12:56

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

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

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


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

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

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