Microsoft office access database engine

Знания

Изучите основы и оттачивайте навыки для повышения эффективности работы в AutoCAD

Автор:

Support

Проблема

При попытке установить 64-разрядную СУБД Access на компьютер с 32-разрядной версией Microsoft Office (2007, 2010 или 2013) появляется сообщение об ошибке:

«Невозможно установить 64-разрядную версию Microsoft Access Database Engine 2010, поскольку установлены 32-разрядные версии продуктов. »

Причины

Решение

ПИСЬМЕННЫЕ ИНСТРУКЦИИ

Решение для установки 64-разрядной СУБД Access 2010 на компьютер с 32-разрядной версией Microsoft Office 2007, 2010 или 2013

Перед началом работы откройте редактор реестра (введите «regedit» в поле поиска Windows под меню «Пуск» и выберите regedit.exe). Убедитесь в ОТСУТСТВИИ значения «mso.dll» для следующего ключа реестра: «HKEY_LOCAL_MACHINESOFTWAREMicrosoftOffice14.0CommonFilesPaths».

Это значение ключа реестра присутствует, если на компьютер была установлена 64-разрядная версия Microsoft Office, в таком случае вы должны иметь возможность установить 64-разрядную СУБД Access без использования этого решения.

Решение

2. Введите путь и имя файла установки 64-разрядной версии СУБД Access 2010, после чего введите пробел и «/passive» (это позволит выполнить установку без отображения сообщений об ошибках).

Прочитать в 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.

Читайте также:  Ndp462 kb3151800 x86 x64 allos enu

Собственно, проблема в том, чтобы заставить поставиться 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 и без каких-либо обязательств.

Скачиваю 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 Access

Скриншот Microsoft Access 2010
Тип РСУБД
Разработчик Microsoft
Операционная система Microsoft Windows 10
Первый выпуск ноябрь 1992
Последняя версия 2019 (2018)
Читаемые форматы файлов DBF , Microsoft Access Database, version 2007 [d] , Microsoft Access Database [d] , FDB (Legacy Family Tree) [d] [1] , Access Project file format [d] , Access Add-in file format [d] , ACCDA file format [d] , MDE file format [d] , ACCDE file format [d] , ADE file format [d] , Access Blank Project Template [d] и Access Database Runtime [d]
Создаваемые форматы файлов DBF , Microsoft Access Database, version 2007 [d] , Microsoft Access Database [d] , Access Project file format [d] , Access Add-in file format [d] , ACCDA file format [d] , MDE file format [d] , ACCDE file format [d] , ADE file format [d] , Access Blank Project Template [d] и Access Database Runtime [d]
Лицензия Проприетарное программное обеспечение EULA
Сайт microsoftaccess.com
Медиафайлы на Викискладе

Microsoft Office Access или просто Microsoft Access — реляционная система управления базами данных (СУБД) [2] корпорации Microsoft. Входит в состав пакета Microsoft Office. Имеет широкий спектр функций, включая связанные запросы, связь с внешними таблицами и базами данных. Благодаря встроенному языку VBA, в самом Access можно писать приложения, работающие с базами данных.

Содержание

Состав программного продукта [ править | править код ]

Основные компоненты MS Access:

  • построитель таблиц;
  • построитель экранных форм;
  • построитель SQL-запросов (язык SQL в MS Access не соответствует стандарту ANSI);
  • построитель отчётов, выводимых на печать.

Они могут вызывать скрипты на языке VBA, поэтому MS Access позволяет разрабатывать приложения и БД практически «с нуля» или написать оболочку для внешней БД.

Microsoft Jet Database Engine ( англ. ) , которая используется в качестве движка базы данных MS Access, является файл-серверной СУБД и потому применима лишь к приложениям, работающим с небольшими объёмами данных и при небольшом числе пользователей, одновременно работающих с этими данными. Непосредственно в Access отсутствует ряд механизмов, необходимых в многопользовательских базах данных, таких, например, как триггеры.

Взаимодействие с другими СУБД [ править | править код ]

Встроенные средства взаимодействия MS Access со внешними СУБД с использованием интерфейса ODBC снимают ограничения, присущие Microsoft Jet Database Engine. Инструменты MS Access, которые позволяют реализовать такое взаимодействие, называются «связанные таблицы» (связь с таблицей СУБД) и «запросы к серверу» (запрос на диалекте SQL, который «понимает» СУБД).

Корпорация Microsoft для построения полноценных клиент-серверных приложений на базе MS Access рекомендует использовать в качестве движка базы данных СУБД MS SQL Server. При этом имеется возможность совместить с присущей MS Access простотой инструменты для управления БД и средства разработки.

Известны также реализации клиент-серверных приложений на базе связки Access 2003 c другими СУБД, в частности, MySQL [1].

Совместимость Access со сторонними источниками данных [ править | править код ]

СУБД (Источник данных) Версия Access Драйвер Обновляемые запросы
Файлы Excel все встроенный Нет
SQLite Да
MySQL 2000-2003 MyODBC v.3.51.X, 5.1.X Да
PostgreSQL psqlODBC driver Да
Firebird Да
1C v.7.7 (dbf) 2003 Visual FoxPro ODBC driver v.6.01.8629.01 Нет
Paradox
Oracle
Текстовые файлы все встроенный Нет
Таблицы html все встроенный Нет
Читайте также:  Teamviewer для linux ubuntu

Сохранение в Access [ править | править код ]

Access, при работе с базой данных, иначе взаимодействует с жёстким (или гибким) диском, нежели другие программы.

В Access новая редакция содержимого изменённой ячейки таблицы записывается на диск (сохраняется) сразу, как только курсор клавиатуры будет помещён в другую ячейку (или новая редакция изменённой записи записывается на диск сразу, как только курсор клавиатуры будет поставлен в другую запись (строку)). Таким образом, при сбое электропитания потери данных будут минимальными – только в той записи, которая редактировалась на момент сбоя.

Целостность данных в Access обеспечивается также за счёт механизма транзакций.

Кнопка «Сохранить» в Access тоже есть, но в Access в режиме просмотра данных она нужна, в первую очередь, для сохранения изменённого режима показа таблицы или другого объекта — то есть, для сохранения таких изменений, как:

  • изменение ширины столбцов и высоты строк,
  • перестановка столбцов в режиме просмотра данных, «закрепление» столбцов и освобождение закреплённых столбцов,
  • изменение сортировки,
  • применение нового фильтра,
  • изменение шрифта; цвета текста, сетки и фона,
  • и т. п.

Кроме того, в Access эта кнопка нужна в режиме «Конструктор» для сохранения изменений структуры объекта базы данных, сделанных в этом режиме.

Обслуживание базы данных [ править | править код ]

Даже если в процессе работы с файлом базы данных не применялся режим «Конструктор» и новые данные в базу данных не добавлялись (то есть если база данных только просматривалась), то всё равно файл базы данных имеет тенденцию со временем, в процессе работы с ним, всё больше и больше увеличиваться в размере. Очень способствует увеличению размера файла применение новых сортировок и фильтров (особенно если было применено несколько разных, сильно отличающихся друг от друга сортировок/фильтров).

Это приращение размера файла является, фактически, пустотой, но эта пустота лежит внутри файла, увеличивая его объём.

Чтобы вернуть файлу базы данных нормальный (минимальный) размер, в Access есть функция «Сжать и восстановить базу данных» (при использовании этой функции вся информация из файла базы данных сохраняется). Также базу данных можно запустить с параметром /compact , что выполнит сжатие автоматически и закроет базу по окончании процесса.

Версии [ править | править код ]

  • 1992: Access 1 для Windows 3.0
  • 1993: Access 2.0 для Windows 3.1x (Microsoft Office 4.3)
  • 1995: Access 7 для Windows 95 (Microsoft Office 95)
  • 1997: Access 97 (Microsoft Office 97)
  • 1999: Access 2000 (Microsoft Office 2000)
  • 2001: Access 2002 (Microsoft Office XP)
  • 2003: Access 2003 (из комплекта программ Microsoft Office 2003)
  • 2007: Microsoft Office Access 2007 (из комплекта программ Microsoft Office 2007)
  • 2010: Microsoft Office Access 2010 (из комплекта программ Microsoft Office 2010)
  • 2012: Microsoft Access 2013 (из офисного пакета приложений Microsoft Office 2013)
  • 2015: Microsoft Access 2016 (из офисного пакета приложений Microsoft Office 2016)
  • 2018: Microsoft Access 2019 (из офисного пакета приложений Microsoft Office 2019)

Практические аспекты лицензирования Access [ править | править код ]

Microsoft Access является проприетарным программным обеспечением, то есть для его использования необходимо приобрести лицензию. Однако для использования готовых приложений, созданных с помощью Access, лицензия не требуется. Для работы такого приложения необходима runtime-версия Access [2], которая распространяется бесплатно.

Корпорация Microsoft распространяет полнофункциональную версию Access как отдельно, так и совместно с другими приложениями (Word, Excel и др.) в составе пакетов Microsoft Office Professional, Microsoft Office Professional Plus и Microsoft Office Enterprise.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock detector