Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Вебмастеру -> Сеппа Д. -> "Microsoft ADO.NET" -> 223

Microsoft ADO.NET - Сеппа Д.

Сеппа Д. Microsoft ADO.NET — М.: Русская Редакция, 2003. — 640 c.
ISBN 5-7502-0223-2
Скачать (прямая ссылка): mcrsftado2003.pdf
Предыдущая << 1 .. 217 218 219 220 221 222 < 223 > 224 225 226 227 228 229 .. 260 >> Следующая

daDetails.SelectCommand.Parameters(O). Value = strCustonerlD daDetails.Fill(dsChapter13.0rder_Details)
518 Часть IV Создание эффективных приложений с использованием AuO.iSiET Visual C# NET
daProducts.FillCdsChapter13.Products); daEmployees.Flll(dsChapter13.Employees);
daOrders.SelectCommand.Parameters[OTValue = sirCustomsrID; daOrders.Fill<dsChapterl3.Orders);
daDetails.SelectCommand.Parameters[0]. Value = strCustomerlD; daDetails.Flll(dsChapter13.0rder_Details)
При каждом susses метода DaiaAaapli'i Fi неявно открывается и закрывается связанный с объектом DataAdapter объект Connection. Это означает, что код четырежды открывает и закрывает объект Connection. Вызвав метод ConnvftfotiJi[wt перед вызовом методов DataAdapterfill, вы чулъ-чузъ повысите производительность приложения. Кроме того, явно открыв объект Connection до вызова методов объектов DaitLAdaptev вы сможете объединить изменения, ожидающие передачи в БД, в одну транзакцию.
Если бы мне пришлось рекомендовать единый, универсальный способ управления состоянием соединения, я порекомендовал бы способ, описанный выше.
Пул соединений
Пул соединений позволяет значительно повысить производительность многоуровневых приложений. Фактически, поскольку пул соединений по умолчанию включен, вы, мозч'.1Ж110, уже используете его, даже не имея об этом представления. Повторно задействованы только соединения с одинаковыми строками подключения и реквизитами пользователей, и поэтому пул соединений в многоуровневом приложении применяется только когда компоненты промежуточного уровня используют идентичную строку подключения и реквизиты пользователя.
Некоторые разработчики обеспечивают безопасность в многоуровневых приложениях средствами БД. Компоненты промежуточного уровня подключаются к БД с применением реквизитов пользователя, поэтому приложения, в которых реализован такой подход, не получают от пула соединений никаких преимуществ. Чтобы в полной мере воспользоваться преимуществами пула соединений, компоненты промежуточного уровня должны предоставлять собственные специфичные реквизиты. С помощью параметров сетевой безопасности ограничьте круг лиц, обладающих доступом к компонентам промежуточного уровня.
Пул соединений предназначен преимущественно для многоуровневых приложений, но он годится для повышения производительности и простых двухуровневых приложений. Когда наше приложение-пример явно или неявно закрывает объект Connection, реальное соединение с БД помещается в пул. Если приложение, до того как истечет время хранения соединения в пуле, снова откроет объект соединение будет использовано повторно.
Чтобы при работе с поставщиком OLE DB .NET Data Provider не применять в своем приложении пул соединений, добавьте в строку подключения такой атрибут:
OLE OB Services=-4;
Если требуется исключить обращение к пулу соединений при работе с поставщиком SQL Client .NET Data Provider, добавьте следующий атрибут:
Pooling=False;
ГЛАВА 13 Создание эффективных Windows-приложений 519
Работа с данными больших двоичных объектов
Для повышения производительности можно хранить данные больших двоичных объектов (BLOB-данные) в файлах на сервере, а пути к этим файлам - в БД. Операционные системы лучше применять для работы с файлами. Хранить те же данные в БД менее эффективно. Например. SQL Server 2000 делит BLOB-данные объемом свыше 8 сО.нп на несколько страниц БД. Таким і юразом. файл размером 40 делится на пять составных частей. Мне не очень-то нравится хранить BLOB-данные в БД, но я отчетливо представляю преимущества такого способа. При хранении одной части данных в БД и другой части в файлах увеличивается число используемых технологий. Усложняется обеспечение безопасности и архивация данных.
Если вы решите хранить BLOB-данные в БД, в следующих разделах приводится несколько советов по работе с такими данными в ADO.NET.
Отложенная выборка BLOB-данных
Предположим, ваш запрос возвращает сотню записей, включающих поля с BLOB-
Действительно ли следует возвращать все эти данные в наборе результатов запроса? В SQL Server поля с BLOB-данными могут содержать до 2 Рбайт информации. Представляете ли вы, сколько BLOB-данных вернет ваш запрос?
Один из способов повысить производительность приложения — отложить выборку BLOB-данных из БД до момента, когда они понадобятся. Выбирайте обычные данные заблаговременно, а затем по мере необходимости получайте BLOB-
данные. Этот способ особенно полезен, если пользователь обращается только к BLOB-данным отображаемой в настоящий момент записи,
Обработка BLOB-данных с помощью объектов DataSet
На самом деле обращаться и редактировать содержимое столбцов с BLOB-данными при помощи объектов DataSet очень просто. ADO.NET хранит текстовые BLOB-данные в виде строк, а двоичные — в виде байтовых массивов. В отличие от предыдущих моделей к данным объект не предоставляет
Вам потребуется и редактировать все содер-
жимое поля.
Работают с содержимым поля с текстовыми BLOB-данными так же, как и с содержимым других полей с текстовыми типами данных.
Visual Basic .НЕТ
Предыдущая << 1 .. 217 218 219 220 221 222 < 223 > 224 225 226 227 228 229 .. 260 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100