Доступ в качестве внешнего интерфейса для SQL Server - ADO против DAO? - PullRequest
4 голосов
/ 12 июня 2010

У меня есть проект, который будет использовать Access 2003 в качестве внешнего интерфейса, и данные будут храниться в SQL Server.Access будет подключаться к SQL Server через связанные таблицы со всей логикой базы данных (хранимые процедуры, представления) в SQL Server.

Учитывая эту настройку, было бы лучше использовать ADO или DAO в Access?Это просто вопрос предпочтений или он подходит для Access в качестве внешнего интерфейса и SQL Server в качестве хранилища данных?Особенно при использовании связанных таблиц.Спасибо.

Ответы [ 3 ]

2 голосов
/ 12 июня 2010

Использовать MDB со связанными таблицами ODBC.Поскольку вы используете ODBC, вы подключаетесь через Jet, поэтому очевидно, что DAO является выбором по умолчанию для доступа к данным.

ADO следует использовать только для тех вещей, которые нельзя сделать иначе, или которыеплохо работает

Короче говоря, вы создаете свое приложение SQL Server точно так же, как и приложение с чистым доступом (при условии, что вы создаете приложение с внутренним интерфейсом Jet / ACE для эффективного извлечения данных, что должно быть простым)и прибегают к функциональности на стороне сервера или ADO только тогда, когда подход Access по умолчанию неэффективен или не дает нужного вам результата (например, редактируемый набор записей в случае sprocs, возвращающих набор записей).

2 голосов
/ 12 июня 2010

Пишите сквозные запросы в отличие от подхода с использованием связанных таблиц. Производительность будет значительно улучшена. Написание приложения Access?

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

Редактировать: Общее согласие - ADO для подключения к серверу sql / другим источникам и DAO для источников только mdb.

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

DAO использовался для доступа к базам данных MDB из любого COM-приложения. Я не верю, что он может даже подключиться к SQL Server.

ADO является преемником DAO. ADO может подключаться ко многим базам данных, но особенно хорошо взаимодействует с SQL Server. Так что в вашей ситуации использование ADO кажется легким делом.

...