Microclimate.su

IT Новости
3 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Microsoft access ole db provider скачать бесплатно

32-битный Excel и 64-битный SQL Server

Прочитать в SQL Server табличку из Excel… В самом деле, что может быть проще? Для этого существует масса возможностей. Есть инструмент Integration Services, который бывшие DTS, есть мастер импорта/экспорта, который «за сценой» то же самое, можно по-быстрому сваять собственное ADO.NET-приложение, наконец, если неохота стрелять из пушек по воробьям, можно воспользоваться механизмом прилинкованных серверов, известным, как DTS, еще со времен семерки, который позволяет легко и элегантно увидеть теоретически любой ODBC/OLE DB-достижимый источник в виде таблицы (совокупности таблиц) или результата непосредственного (ad hoc) запроса. Так было до тех пор, пока 64-битная архитектура не перестала быть чем-то из области hi end и пришла на ноутбуки разработчиков и пользователей. Обычный пользователь, наверное, все-таки вряд ли будет ставить себе сервер баз данных, но для разработчика отнюдь не экзотична ситуация, когда на одной х64-машине уживаются 64-битный SQL Server с 32-битным MS Office. В этом случае создание прилинкованного сервера на Excel или Access вызывает проблему, потому что драйвера для них, понятно, 32-битные, которые SQL Server, будучи 64-битным, не понимает. Нет у него в списке известных ему провайдеров ничего похожего, хотя офис со всеми прибамбасами, включая connectivity, на компе стоит.


Рис.1

Соответственно, попытка использовать прилинкованный сервер на Excel, как описано в документации, приводит к ошибке Msg 7302, Level 16, State 1, Line 1
Cannot create an instance of OLE DB provider «Microsoft.ACE.OLEDB.12.0» for linked server…
Возникает извечный вопрос «что делать»?

Ну как что делать. Поставить 64-битного провайдера, разумеется. Вот здесь (Microsoft Access Database Engine 2010 Redistributable) их как раз раздают две штуки: AccessDatabaseEngine.exe и AccessDatabaseEngine_x64.exe. Скачиваем ту, которая 64-битная, запускаем установку и получаем отлуп.


Рис.2

То есть если бы рядом с 64-битным SQL Server не стоял 32-битный Office, то за ради Б-га, но высокие технологии у нас развились до такой высоты, что непонятно, что делать. Сносить 32-битный Office и ставить вместо него 64-битный только для того, чтобы залезть SQL Serverом в Excelную табличку? Сносить 64-битный SQL Server и ставить взамен 32-битный только тоже для того же? Не думаю, что это гибкий вариант решения, да и не всегда подобная возможность имеет место быть. Например, как пишет мужик, The MS Access database is a production environment at the customers site, and it is not an option for me to de-install it and install a 64 bits version. It is also not an option to de-install the existing SQL Server 64 bit and install the 32 bits version, of course. An additional installation of a SQL Server 32 bits, only providing the link to MS Access would be the only option then. I find this quite horrible. Начинается непонимайка. Since there is no 64-bit Jet, you need download and install the 64-bit version of «Microsoft Access Database Engine 2010 Redistributable». — Thanks for your answer, but I when I install the AccessDatabaseEngine_X64.exe I get the following error (см.Рис.1) — Please refer to this KB article: support.microsoft.com/kb/2269468 — The article in the link in your last message tells to de-install all Office 32 bits products. That makes no sense to me, because the goal is to connect to the 32 bits MS Access database. — You need to install the 64-bit version of “Microsoft ACE OLEDB Provider” to connect to an Access file (32-bit or 64-bit) from SQL Server. — But I tried to install the 64 bits driver, but it is giving me an installation error. — The previous KB article explains the cause and provide the solution, you can refer to it. — You are guiding me in circles.

Читать еще:  Скачать майкрософт офис 2020 бесплатно с ключом

Собственно, проблема в том, чтобы заставить поставиться 64-битную версию Microsoft ACE OLEDB Prov >The fact that they cannot forces us to compile two different versions of our application; one specifically for x86 platform and one for x64 platform. Then we have to somehow determine which version of the ACE driver is installed so we know which version (32 or 64 bit) of our application to install. Life would be much simplier if we could just compile our app for the default AnyCPU and then both 32 and 64 dataproviders were allowed to be installed… Why can’t 32 and 64 bit ACE coexist? — It’s based upon the fact that Microsoft does not support the side by side install of 32 and 64-bit Microsoft Office 2010 or their dependent components. — I’m sorry, but that’s not a very helpful answer to the question. Q: Why can’t the 32 and 64 bit versions of the Microsoft Access Database Engine 2010 Redistributable (AccessDatabaseEngine.exe and AccessDatabaseEngine_X64.exe) both be installed on the same machine? A: Microsoft does not support the side by side install of 32 and 64-bit Microsoft Office 2010. That’s not answering, that’s just repeating the question in other words. Q: Why can’t I do this? A: Because we don’t support it. Q: Why can’t you support it? A: Because we don’t support it.

В качестве обходного пути решения для себя я использовал установку AccessDatabaseEngine_X64.exe с ключом /passive, который позволяет 64-битной версии провайдера встать бок о бок с 32-битной версией Office. Необходимо подчеркнуть, что этот способ не является официально поддерживаемым Microsoft, имеются также предостережения относительно возможных проблем с несовместимостью. When I installed the driver AccessDatabaseEngine_x64.exe… MS Office Pro Plus starts a MS Configuration Process that can take up to a minute or two before a document or Office program opens. If office 2010 32 bit is installed and if 64-bit ace is installed with /passive, then **every** time you run Access 2010, you get an automatic installation routine that resets to the 32-bit drivers for office. В моем случае (Office 2013 Pro Plus, SQL Server 2012 Developer Ed., Windows 8.1) видимых проблем (тьфу-тьфу-тьфу) пока не возникло, однако еще раз хочу заметить, что это все, что называется, as is и без каких-либо обязательств.

Читать еще:  Ключи для активации офиса 2020 бесплатно новые

Скачиваю AccessDatabaseEngine_x64.exe, создаю System Restore Point на всякий пожарный (хотя, по-моему, при обновлении офисных компонент она и так создается автоматически), ставлюсь из командной строки. Вот возможные ключи:


Рис.3


Рис.4

В отличие от Рис.2 установка запускается


Рис.5

и где-то через полминуты сухо, по-деловому завершается без всяких фанфар, ОК, ура, я встала и т.д. Сейчас мы поглядим, какой это Сухов. На Рис.1 из контекстного меню Providers говорим Refresh и, что называется, чувствуем разницу.


Рис.6

Это вселяет. По-быстрому сварганил незатейливый xslx:


Рис.7

В SQL Server создаем прилинкованный сервер на этот Excel:

и с замиранием читаем:

Msg 7399, Level 16, State 1, Line 1
The OLE DB provider «Microsoft.ACE.OLEDB.12.0» for linked server «XlsLnkSrv» reported an error. The provider did not give any information about the error.
Msg 7303, Level 16, State 1, Line 1
Cannot initialize the data source object of OLE DB provider «Microsoft.ACE.OLEDB.12.0» for linked server «XlsLnkSrv».

Нет, (Excel забыл закрыть) все-таки гол!


Рис.8

но для нее (на всякий случай напомню) требуется вначале сделать

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

Доброе время суток, форумчане.

Дело все в том что написанная минипрограмка заточена под Office 2010 когда я пытаюсь открыть проект или запустить скомпилированный exe файл, на ПК где стоит Office 2013 то появляется сообщение поставщик «Microsoft.ACE.OLEDB.12.0» не зарегистрирован на локальном компьютере

Вот как быть в таких случаях когда на ПК может стоять совсем другой office или вовсе не стоять?
Как обходить такие ошибки и что бы все работало?

Но как его потом интегрировать, что бы не надо было на других ПК где будет запускаться, его отдельно устанавливать?

Читать еще:  Ключ для эксель 2020 лицензионный ключ бесплатно
11.06.2015, 20:04

Поставщик «Microsoft.Ace.Oledb.12.0» не зарегистрирован на локальном компьютере
Ошибка » Поставщик «microsoft.ace.oledb.12.0″ не зарегистрирован на локальном компьютере» в.

Поставщик «Microsoft.ACE.OLEDB.12.0» не зарегистрирован на локальном компьютере
В чем дело? В VISUAL BASIC 2013 Создал форму кинул на нее DataGreedView, подключил файл с.

Поставщик «Microsoft.Ace.OLEDB.12.0» не зарегистрирован на локальном компьютере
Здравствуйте, не могу понять почему не работает SQL, написал самый простой запрос и выдал такую.

Поставщик «Microsoft.Jet.OLEDB.4.0» не зарегистрирован на локальном компьютере (Windows7, x32)
При изучение БД по самоучителю, столкнулся с проблемой, при попытке запуска программы выдается.

11.06.2015, 20:43211.06.2015, 21:03 [ТС]3
vb.net
06.07.2015, 14:35 [ТС]4
19.09.2015, 10:105

Решение

vova_king, проблема в том, что скорее всего у тебя система x64 а программа откомпилированадля AnyCPU, и учитывая битность твоей системы, она пытается запустить программу с параметрами x64, но провайдер идет для x86.
Поэтому, настрой компилятор студии для своего приложения под x86 вместо AnyCPU и выполни построение заново. ну и проверь. должно работать и на x86 и на x64.

Думаю в этом и есть проблема.

Добавлено через 2 минуты
Кстати dimsaratov тебе на это и намекнул.

Добавлено через 7 минут
Недавно Памирыч вылодил свой исходник программы для поиска фотографий, в ней тоже работа с базой Access через провайдера только OLEDB.4.0. так вот и у него та же самая проблема. На моей системе не пускается, пишет что провайдер не найден.
ИСПРАВИЛ ПЕРЕИЗДАНИЕМ ПОД x86.

19.09.2015, 10:126

Решение

19.09.2015, 10:157
02.04.2016, 22:068
06.11.2016, 11:519
07.11.2016, 20:3310
16.04.2018, 16:4711
vb.net
16.04.2018, 17:1212
16.04.2018, 17:2013
04.09.2018, 13:3414

Смотрю по постам, что тема очень наболевшая.
И я тоже с ней столкнулся.
Задача — написать расчетную программу, которая будет распространяться среди наших партнеров.

Написал в VB.net на своем компе — Win 10 64, Office 2013 64.
Так как речь идет о большом количестве товаров, я создал БД в Access, не заполнять же массивы вручную.

На моём компе разобрался — поставил в VB конфигурацию х64 и заработало всё как надо.
Но, надо же, чтобы прога и на других компах работала. Это же элементарно! А на других компах разные ОС, разные Офисы, разные битности.

Ссылка на основную публикацию
Adblock
detector