2012-01-26 1 views
2

Я попытаюсь сохранить это просто, я работал над проектами в прошлом, в которых мы использовали сервер Oracle или MS SQL как хранилище данных с Access как front-end, вместо того, чтобы связываться в таблицах, которые я использую соединение ADO с соответствующей базой данных, чтобы открыть мои наборы записей, так как в большинстве случаев это происходит быстрее, чем выполняется запрос к серверу, а затем результаты возвращаются, а не работа была на локальном ПК.Запрос ADO для базы данных MS Access, увеличение производительности?

Мой вопрос сейчас, наконец, я получил, если я размещаю файл .mdb доступа на серверной машине с большей вычислительной мощностью, чем мой локальный ПК, а затем запускаю запросы от него с использованием соединения ADO (например, Oracle/MS SQL), обеспечит лучшую производительность из-за того, что .mdb был на сервере; или по мере того, как это будет доступ, работа будет по-прежнему выполняться локальным компьютером, поскольку доступ представляет собой базу данных типа файла, а не сервер базы данных?

+0

Этот вопрос касается производительности с подключением ADO к MDB в общем доступе к файлу против подключения ADO к базе данных клиентского сервера? – HansUp

+0

@ HansUp Нет, он является первичным подключением ADO к файлу MDB, который хранится на диске C: большой сервер, и имеет стандартный запрос с использованием связанных таблиц в файл MDB на стандартных настольных компьютерах. C: drive. –

ответ

4

Нет, это будет медленнее - запросы будут по-прежнему работать на стороне клиента, и у вас будет сетевая активность сверху.

Приложения доступа всегда работают на стороне клиента. Блокировка происходит с использованием блокировок байтов в файловой системе Windows в файле LDB, чтобы позволить нескольким экземплярам Access изменять один и тот же файл MDB.

Весь код работает на клиенте, и вам придется отправлять данные по сети. Единственная работа, которую сервер будет делать с файлом MDB, действует как файловый сервер.

Просто используйте SQL Server Express, если доступ недостаточно быстрый. Так как SQL Server - это система клиент-сервер, то это поможет быстрый сервер.

+0

Приветствия за это, я в порядке с использованием SQL Express и т. Д., Но просто интересно, сможет ли использование Access таким образом заставить сервер выполнить запрос или будет ли он по-прежнему на стороне клиента. –

+0

@MattDonnan, Обновлено, чтобы быть более четким. – Ben

+0

Еще раз спасибо, есть ли у вас какие-либо идеи по одному из моих старых вопросов без ответа? (Http://stackoverflow.com/questions/8896845/ms-access-cancel-execution-of-pass-thru-query-keyboard-shortcut) –