- •1.4. Адаптер данных (объект DataAdapter) 13
- •1. Ado.Net как базовый объект доступа к базам данных
- •1.1. Структура компонента доступа к данным ado.Net
- •1.1.1. Работа в отрыве от источника данных
- •1.1.2. Взаимодействие с базой данных через команды
- •1.1.3. Взаимодействие с базой данных через объект DataSet
- •1.1.4. Независимость набора данных DataSet от источника данных
- •1.1.5. Обмен данными в формате xml
- •1.1.6. Схемы, определяющие структуру данных
- •1.2. Сравнение ado.Net и ado
- •1.2.1. Представление данных в памяти
- •1.2.2. Навигация по данным и курсоры
- •1.2.3. Минимизация открытых соединений
- •1.2.4. Разделение данных между приложениями
- •1.3. Соединение с источником данных (объект Connection)
- •1.3.1. Строка соединения
- •1.3.2. Открытие и закрытие соединения
- •1.3.3. Пул соединений
- •1.3.4. Транзакции
- •1.3.5. Конфигурирование свойств Connection
- •1.3.6. Объект Connection и безопасность
- •1.3.7. Создание объекта Connection в режиме дизайнера с помощью Server Explorer
- •1.3.8. Инструменты Visual Studio для создания объектов Connection
- •1.3.9. Создание объекта Connection в ado.Net
- •1.4. Адаптер данных (объект DataAdapter)
- •1.4.1. Адаптеры данных и связанные таблицы
- •1.4.2. Адаптеры данных и объекты Command
- •1.4.3. Чтение и обновление данных с использованием объекта DataAdapter
- •1.4.4. Параметры команд объекта DataAdapter
- •1.4.5. Свойство TableMappings объекта DataAdapter
- •1.4.6. Создание объекта DataAdapter
- •1.4.7. Конфигурирование параметров объекта DataAdapter
- •1.4.8. Связывание колонок таблиц источника данных и объекта DataSet через адаптер данных
- •1.4.9. Предварительный просмотр данных, полученных объектом DataAdapter
1.3.6. Объект Connection и безопасность
Поскольку открытие соединения дает доступ к очень важному ресурсу сервера — базе данных, то становятся актуальными вопросы обеспечения безопасности и конфигурирования уровня безопасности.
Как вы будете обеспечивать безопасность приложения и порядок доступа из него к источнику данных зависит от архитектуры разрабатываемой системы. В Web-приложениях, например, пользователи обычно получают анонимный доступ к Internet Information Services (IIS), и поэтому не предоставляют никаких сертификатов на право пользования информацией. В этом случае, ваше приложение должно обеспечивать собственную проверку прав входа в систему, чтобы дать "добро" на открытие соединения и обращения к базе данных. Имя пользователя и пароль могут быть или "прошиты" в откомпилированном приложении (в виде значения свойства, установленного во время разработки), или могут быть определены как динамические свойства, которые установлены в файле конфигурации Web-приложения. Двоичные файлы Web-приложения и файл конфигурации защищены от доступа из сети Интернет собственными средствами защиты ASP.NET, которые предотвращают доступ к этим файлам через любой Интернет-протокол (гипертекстовый транспортный протокол — HTTP, протокол передачи файлов — FTP, и так далее). Чтобы предотвратить доступ к Web-серверу из вашей внутренней сети, необходимо использовать возможности защиты Windows.
В Интранет или в двухуровневых приложениях вы можете использовать интегрированную защиту — средствами Windows, IIS и SQL-сервером. В такой модели защиты для обращения к ресурсам базы данных используются параметры идентификации пользователя в сети, а не имя и пароль, заданные в строке соединения. При этом права доступа к информации устанавливаются на сервере базы данных через группы пользователей, так что нет необходимости установить индивидуальные параметры разрешения для каждого пользователя, который мог бы обратиться к базе данных. В данной модели вообще не нужно сохранять параметры соединения, и нет необходимости в принятии дополнительных мер по защите параметров строки соединения.
1.3.7. Создание объекта Connection в режиме дизайнера с помощью Server Explorer
Проводник Server Explorer обеспечивает наиболее простой путь создания соединения с источниками данных в режиме дизайнера на этапе проектирования приложения. Здесь программист имеет возможность просмотреть все доступные источники (базы) данных; увидеть таблицы, столбцы и многие другие элементы, а также редактировать и создавать новые элементы базы данных.
Ваше приложение непосредственно не использует соединения, созданные этим путем. И вообще информация, поставляемая соединением в режиме дизайнера при проектировании приложения, используется для того, чтобы задать свойства нового объекта Сonnection, который вы добавите к вашему приложению. Иными словами объекты Сonnection, с которыми вы работаете в окне Server Explorer, являются элементами Server Explorer и служат шаблонами для создания объекта Сonnection, который будет являться элементом формы и реально работать в вашем приложении.
Например, во время разработки вы задействовали Server Explorer для создания связи (объекта Connection) С SQL-сервером с именем MyServer и базой данных Northwind, которая поставляется вместе с SQL Server. Затем, при проектировании формы, через это соединение вы можете просмотреть структуру базы данных Northwind, выбирать таблицы, выделять нужные вам столбцы и перетаскивать их на форму. Как раз в момент "перетаскивания" элементов из базы данных на проектируемую форму будут автоматически сформированы объекты Connection и DataAdapter. В новое соединение скопируется информация из СonnectionString соединения-шаблона проводника Server Explorer. Когда разработанное приложение будет запущено на выполнение, то объект Connection, расположенный на форме (а не в Server Explorer) будет реально обеспечивать соединение вашего приложения с источником данных.
Информация о соединениях в режиме проектирования приложений храниться на вашем локальном компьютере и не зависит от загруженного в данный момент проекта. Поэтому, как только вы загрузили в Visual Studio какой-либо проект, активизируется объект Connection режима проектирования приложений — и вы видите доступные базы данных в проводнике Server Explorer.