Как я могу получить доступ к объекту базы данных при использовании СУБД Click2Run / SxS MS Access через ADO? - PullRequest
0 голосов
/ 23 апреля 2020

По нашему опыту установки СУБД MS Access без C2R, похоже, ломаются после любой установки или обновления MS Office SxS. Мы видели это в 2007, 2010 и 2016 годах. Мы не пробовали 2013 год. Чтобы приложение снова заработало, нам нужно восстановить используемую нами установку MS Access.

В настоящее время мы только используя 32-битный провайдер. Мы использовали объект базы данных DAO для реструктуризации базы данных.

Думая о переходе на Click2Run MS Access 2019, я попытался использовать его вместо этого, но обнаружил, что DBEngine недоступен за пределами «пузыря» C2R. Я не вижу способа создать экземпляр или запросить существующий экземпляр базы данных. Это проблема, потому что тогда реструктуризация базы данных не будет работать.

При использовании СУБД MS2 Click2Run / SxS через ADO, как я могу получить доступ к объекту базы данных, чтобы использовать DAO для реструктуризации базы данных?

1 Ответ

0 голосов
/ 23 апреля 2020

Вы просто должны установить движок ACE отсюда:

https://www.microsoft.com/en-us/download/details.aspx?id=54920

Однако, если вы хотите знать, как это действительно работает?

Что ж, довольно важно различать guish между Access. Access - это инструмент для разработчиков, такой как vb. net, FoxPro или любой другой. Он позволяет вам писать код и использовать данные из выбранной вами базы данных.

Таким образом, Access не является базой данных и не имеет доступа к базе данных. Я имею в виду, как создать формы и пользовательский интерфейс с сервером SQL? Вы не можете !!!

Итак, несколько вещей:

До Access 2010: если вы устанавливаете систему Access, то она также устанавливает версию механизма базы данных (раньше назывался JET, но теперь он называется ACE).

Итак, установка доступа к системе разработки или даже время выполнения доступа? Это установит и зарегистрирует и предоставит копию механизма базы данных ACE.

Таким образом, вы можете использовать ядро ​​базы данных ACE в сторонних инструментах. (например, VB6 или, скажем, vb.net/ c#. net).

Теперь для Access 2013 и 2016? По умолчанию, поскольку большинство офисных установок являются C2R, они также изменили то, что при установке 2013 и 2016 гг. Они НЕ предоставляют внешнюю копию механизма обработки данных ACE.

Для 2019 г. из-за некоторой путаницы со стороны общего сообщества разработчиков ? Что ж, теперь они вновь представили, что установка Access (полная версия или среда выполнения) СЕЙЧАС вернулась к тому, что была в прошлом.

В прошлом установка Access также устанавливала EXPOSED копию ACE.

Итак, к 2019 году эта долгая установка вернулась (даже для C2R).

Подобно тому, как все сообщество привыкло к этой новой настройке, мы теперь возвращаемся к тому, что было в прошлом !!

Наличие автономной и неэкспонированной копии ACE имеет довольно приятные преимущества. Одним из больших преимуществ является то, что теперь вы можете установить другую версию ACE - включая смешивание версий x32 и x64.

Таким образом, установка Access в качестве инструмента develop9rs не должна в течение всех этих лет подвергать риску и механизм базы данных ACE. Это особенно актуально, так как многие сейчас используют Access с SQL сервером или даже SharePoint. Итак, теперь Access не является базой данных. Даже привязанная форма к таблице sql с 1 миллионом строк данных? Доступ разумен, и если вы откроете форму со стандартным встроенным предложением «где», Access ТОЛЬКО извлечет одну запись. Я отмечаю эту проблему, так как еще раз, Access не является базой данных. Это система для создания приложений, в которой есть такие вещи, как код, отчеты и пользовательский интерфейс для создания приложений.

Как только вы выбираете Access, вы ТОГДА выбираете базу данных, и она не обязательно должна быть ACE

Хорошо, теперь все вышеизложенное ясно.

Для использования базы данных ACE двигатель? Просто установите его. Используйте эту ссылку: https://www.microsoft.com/en-us/download/details.aspx?id=54920

Как уже отмечалось, для 2019 года возвращение установленного ACE + выставляется при установке Access перенастраивается. Тем не менее, между:

Итак, у нас есть для Access 2010 4 версии: Access x32 - полная версия Access x32 - версия времени выполнения Access x64 - полная версия Access x64 - версия времени выполнения.

для Access 2013, у нас есть 8 версий.

Access x32 - полная версия - MSI Access x32 - версия времени исполнения - MSI Access x64 - полная версия - MSII Access x64 - версия времени выполнения. NSI

Access x32 - полная версия - CTR Access x32 - среда выполнения - CTR Access x64 - полная версия - CTR Access x64 - версия во время выполнения. CTR

Итак, что будет и не будет работать. И какая версия для установки становилась ОГРОМНОЙ матрицей возможностей.

Итог: если вам нужен ACE для внешнего использования третьей стороной? Затем установите механизм ACE, и НЕ пытайтесь установить доступ или предположите, что Access установит открытую копию ACE.

Я мог бы написать еще на 20 страницах об опциях, а также о том, какие версии вы можете или не можете перемешать. Но с 8 версиями этот рассказ будет довольно большим. В любом случае, в настоящее время вы не можете предполагать, что установленный Access установит открытую копию ACE.

Итак, на данный момент вам необходимо установить ACE.

Со временем мы вернемся к тому, как это работало в прошлом, и это особенно актуально, поскольку версии MSI office становятся ОЧЕНЬ трудными для получения или получения. Вы довольно часто вынуждены выбирать C2R, и установка MSI с физического носителя (или даже загрузка) остается в прошлом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...