MS Access 2003 Split база данных с таблицей на ИП - PullRequest
2 голосов
/ 10 ноября 2011

Я верю, что правильно понимаю, что разделение БД предполагает, что все таблицы будут на внутреннем, а все остальное на внешнем.

Вот моя проблема.Я работаю в большой компании, и люди по всей стране, которые используют БД.Около 60 - 65 человек.Обычно синхронно не более 4 или 5.

У меня есть одна статическая таблица, которую я использую в качестве справочной таблицы в форме, которая питает основную таблицу.Если у меня есть эта статическая таблица на BE, время загрузки формы для некоторых людей, в зависимости от их расстояния от сервера, может превышать две минуты.Если я помещу эту статическую таблицу в FE, время загрузки будет в 4-5 раз быстрее.

У меня вопрос;Может ли наличие статической таблицы вызвать другие негативные проблемы с моей базой данных, или это просто "рекомендуется", чтобы все таблицы были на BE?Мой мыслительный процесс заключается в том, что, поскольку я получаю такое большое повышение производительности при работе с FE, то, если мне потребуется изменить эту статическую таблицу, я просто распространю новый FE.Это логика звука?

Ответы [ 3 ]

1 голос
/ 11 ноября 2011

Ваш статический стол может быть в передней части. Вы также должны включить в FE каждую таблицу, которая не изменяется и является частью «выпуска», например: таблица меню панели инструментов.
В любом случае, если у вас есть такие «роуминговые» пользователи, я бы серьезно подумал о переносе данных на SQL Server, что может реально снизить трафик сети и повысить производительность.

1 голос
/ 11 ноября 2011

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

Если вы не хотите распределять новый веб-интерфейс при каждом изменении таблицы, вы можете поместить таблицу в бэкэнд, и каждый внешний интерфейс импортирует таблицу при запуске:

'run this in the frontend on startup
DoCmd.DeleteObject acTable, "Your_Table"
DoCmd.TransferDatabase acImport, "ODBC", ";DATABASE=c:\backend.mdb", acTable, "Your_Table", "Your_Table", False

(конечно, вам придется изменить имя таблицы и путь к бэкенду соответственно)

0 голосов
/ 11 ноября 2011

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

Я думаю, что это облегчает обслуживание BE, потому что тогда у вас нет статических / ненужных таблиц, содержащихся в BE.Я сделал это с моими, некоторые статические таблицы пошли в базу данных FE, а некоторые в базу данных сервера SQL.

Это действительно зависит от того, что, по вашему мнению, будет проще для ваших пользователей, а также для вашего обслуживания.

...