Реклама:

с каким-либо внешним источником данных. Возможно, впоследствии клиент снова инициирует установку соединения с этим или другим сервером и цикл обмена данными повторится.

В настоящее время на платформе Windows под управлением .NET Framework можно создавать приложения двух видов: Web и Windows. Хотя принципы обмена данными из приложений перечисленных видов отличны, в ADO.NET обмен данными и их использование зиждется на отсоединенном использовании данных в приложении и хранении последним своего состояния между сеансами соединения с источником данных.

В .NET выделяют два вида обмена данными между приложениями и источником данных.

Они рассматриваются ниже.

Отсоединенный режим с двухсторонним обменом данными

Для отсоединенного режима с двухсторонним обменом данными характерно чтение данных потоком с источника данных, длительное автономное использование данных в отсоединенном режиме и пакетное обновление обратно в источник. Наиболее часто такой обмен применяют в приложениях Windows.

Общая схема взаимодействия приложения и источника показана ниже.

Сначала приложение соединяется с источником данных и считывает оттуда данные (рис. 1) , затем разрывает соединение и обрабатывает данные в отсоединенном режиме (рис. 2). После окончания обработки соединение с источником устанавливается вновь и приложение производит пакетное обновление данных из источника (рис. 3).

Шумаков П. В.  ADO.NET и создание приложений баз данных в среде Microsoft Visual Studio .NET. Руководство разработчика с примерами на C#.

рис. 3

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

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

Заливка больших объемов данных в клиентские приложения сегодня никого не удивляет ввиду значительного размера оперативной и дисковой памяти у современных " настольных" компьютеров.

Для обеспечения описанного выше режима работы структура приложения в ADO.NET должна отвечать структуре, показанной на рис. 4.

ПРИЛОЖЕНИЕ

Шумаков П. В.  ADO.NET и создание приложений баз данных в среде Microsoft Visual Studio .NET. Руководство разработчика с примерами на C#.

рис. 4

Центральной структурой данных в приложении ADO.NET является набор данных -объект типа DataSet. Эта хранящаяся в памяти реляционная структура включает в себя некоторое число таблиц данных - объектов типа DataTable. Между таблицами набора могут иметься отношения. Каждое реализуется объектом DataRelation, а все отношения между таблицами набора хранятся в коллекции DataRelations этого набора. В наборе же хранятся и ограничения, накладываемые на отдельные столбцы таблиц.

Одна из главных особенностей набора данных - его автономность по отношению к конкретному источника данных. Своих средств для взаимодействия с источником данных у набора нет. Набору все равно, кто, каким образом, когда и откуда занесет данные в его таблицы. В различные таблицы набора можно занести данные не только из разных источников данных, но и из разнотипных. Например, в одну таблицу можно занести данные из базы MS SQL Server, в другую таблицу - из Access, в третью - из текстового файла.


⇐ Предыдущая страница| |Следующая страница ⇒