Использование разделенной базы данных Access - PullRequest
7 голосов
/ 08 октября 2008

Мне нужно увеличить размер разделенной базы данных Access, то есть той, которая в настоящее время разделена между файлами tow mdb, внешним и внутренним интерфейсом. Я вижу много веб-страниц, которые по сути говорят: «Запустите мастер увеличения размера». Мой первый, очень простой вопрос:

Должен ли я запускать этот мастер в моей внешней mdb или в моей внутренней mdb?

Я предполагаю, что не хочу связывать основной сервер mdb -> backend mdb -> sql. Должен ли я запустить мастер на бэкэнде mdb, а затем во внешнем mdb изменить связанные таблицы так, чтобы они указывали на сервер sql, а не на бэкэнд mdb? Если да, то как это сделать? Когда я щелкаю правой кнопкой мыши и захожу в Менеджер связанных таблиц для таблицы во внешнем интерфейсе (связан с бэкендом md), кажется, что это только позволяет мне выбрать новый файл MDB.

Ответы [ 4 ]

4 голосов
/ 08 октября 2008

Я бы согласился с вашей первой догадкой: вы захотите запустить мастер на внутренней базе данных.

Как только вы дойдете до SQL Server, вы, как вы уже догадались, захотите связать интерфейс для работы с данными SQL Server. Один из способов сделать это - настроить источник данных ODBC для новой базы данных SQL Server и выбрать его в диспетчере связанных таблиц.

  1. Откройте ярлык Источники данных (ODBC): в XP Pro это находится на Панели управления в разделе Администрирование. (Если вы этого не видите, у вас, вероятно, нет разрешения на создание источника данных, поэтому вам придется работать с сетевыми сотрудниками, чтобы сделать это.) Это откроет Администратор ODBC.
  2. На вкладке File DSN нажмите Add .... Вы увидите список доступных драйверов. Выберите SQL Server и нажмите «Далее». (Если внешний интерфейс используется только на вашем компьютере, вместо этого вы можете создать системный DSN.)
  3. Найдите общее местоположение и назовите ваш источник данных.
  4. Нажмите Далее и Готово. Это настроит первую часть источника данных и откроет мастер источника данных SQL Server.
  5. Назовите источник данных и выберите сервер, на который вы поместили увеличенную внутреннюю базу данных.
  6. Измените остальные параметры по мере необходимости (вам может не потребоваться много менять, но для объема этих изменений может потребоваться второй вопрос) и нажмите «Готово».

После того, как вы настроили источник данных, тогда Получить внешние данные должны дать вам возможность выбрать его в качестве источника. (В 2007 году вы можете получить их с ленты внешних данных. Источники данных ODBC доступны в разделе Подробнее.)

Для дальнейшего расширения на основе последующих вопросов Мэтта:

Как вы это делаете, это выбор дизайна. Я рекомендую увеличить размер внутренней базы данных mdb, потому что это позволит вам сохранить любые формы и подобные им в Access; Я думаю, что это меньше переход, если ваши данные в SQL Server.

До того, как вы увеличили размер, ваши таблицы были связаны с внутренней базой данных, и Менеджер связанных таблиц показал ссылки. После того, как вы настроите источник данных ODBC и свяжете эти таблицы, он покажет эту ссылку. Вы будете просматривать ссылки двумя разными способами, потому что они на самом деле являются ссылками разных типов (Access и ODBC), даже если ссылки на внешний интерфейс mdb выглядят одинаково.

1 голос
/ 08 октября 2008

Лично я обнаружил, что мастер по изменению размеров очень плохо определяет правильные типы данных. Я сам создавал бы таблицы в SQL-сервере, используя нужные мне типы данных, а затем перемещал данные в существующие таблицы из Access. в противном случае вы застрянете с текстовыми данными, когда сможете использовать varchar или float, когда вам действительно нужно десятичное число.

Как только данные были перемещены, я бы удалил таблицы Access и связался с таблицами SQL Server.

Ничего не делайте без предварительной резервной копии базы данных.

0 голосов
/ 12 июля 2010

Обновите интерфейс, и он импортирует таблицы до того, как увеличится. Я сделал это неделю назад с успешным результатом.

Однако любые запросы, использующие -1 вместо Да, завершатся неудачно. Любое удаление полной таблицы в таблицах без первичного ключа завершится неудачно, и вы получите поведение, отличное от того, которое вы сделаете, просто используя сквозной SQL-запрос для усечения таблицы. Усечение удалит все строки, версия Access может оставить пустым.

Также вам нужно будет включить dbSeeChanges везде, где у вас есть набор записей, открывающийся в таблице с типом данных столбца с автонумерацией. SQL изменяет их на типы данных Identity, а затем пытается сжать, прежде чем пытаться открыть таблицу. Удачи.

0 голосов
/ 08 октября 2008

Как стандартная паранойя, я просто сделал бы резервную копию существующих файлов и запустил мастер увеличения размера на передней панели. Если произойдет что-то нежелательное, просто отмените изменения, перезаписав их резервной копией.

...