Общие сведения о подключении к данным в Visual Studio
Обновлен: Ноябрь 2007
Visual Studio предоставляет средства для подключения приложения к данным из разнообразных источников, таких как базы данных, веб-службы и объекты. При использовании средств разработки структуры данных в Visual Studio часто не требуется явно создавать объект подключения для формы или компонента. Объект подключения обычно создается в результате завершения одного из мастеров данных или перетаскивания объектов данных на форму. Чтобы подключить приложение к данным в базе данных, веб-службе или объекте, запустите Мастер конфигурации источников данных, выбрав элемент Добавить новый источник данных в Окно "Источники данных".
В следующей диаграмме показан стандартный набор операций при подключении к данным при помощи запроса к адаптеру таблиц для выборки данных и их отображения на форме приложения Windows.
В некоторых случаях удобнее создать объект подключения без помощи средств проектирования данных. Сведения по созданию подключений программным образом содержатся в разделе Соединение с источником данных (ADO.NET).
Примечание. |
---|
Сведения о подключении веб-приложений к данным содержатся в разделе Доступ к данным с помощью ASP.NET. |
Создание подключений
При использовании Visual Studio подключения настроены с помощью Диалоговое окно "Добавить/Изменить подключение" (вкладка "Общие"). Диалоговое окно Добавить подключение появляется при редактировании или создании соединений в одном из мастеров данных, в Обозревателе серверов/Обозревателе баз данных или при изменении свойств соединения в окне Свойства.
Подключения данных автоматически настраиваются при выполнении одного из следующих действий:
Действие |
Описание |
---|---|
Подключения настраиваются при выборе пути к базе данных в Мастере настройки источника данных. Дополнительные сведения см. в разделе Практическое руководство. Подключение к данным в базе данных. |
|
Подключения создаются в Мастере конфигурации адаптера таблицы. Дополнительные сведения см. в разделе Практическое руководство. Создание адаптера таблицы. |
|
Подключения создаются в Мастере конфигурации запросов к адаптеру таблиц. Дополнительные сведения см. в разделе Практическое руководство. Создание запросов TableAdapter. |
|
Перетаскивание элементов из Окно "Источники данных" на форму Конструктор компонентов. |
Объекты подключения создаются при перетаскивании элементов из окна Источники данных в Windows Forms Designer или Конструктор компонентов. Дополнительные сведения см. в разделе Отображение данных на форме в приложениях Windows. |
Добавление новых подключений к данным в Обозревателе серверов/Обозревателе баз данных. |
Подключения к данным в Обозревателе серверов/Обозревателе баз данных отображаются в списке доступных подключений в мастерах данных. Дополнительные сведения см. в разделе Практическое руководство. Добавление новых подключений к данным в Обозревателе серверов/Обозревателе баз данных. |
Строки подключения
Все объекты подключения предоставляют примерно одинаковые члены. Однако, доступность некоторых членов объекта OleDbConnection зависит от того, к какому источнику данных он подключен. Источники данных могут поддерживать не все члены класса OleDbConnection.
Основным свойством, связанным с объектом подключения, является свойство ConnectionString. Это свойство состоит из строки сведений с парами атрибут/значение, необходимых для входа на сервер базы данных и обращения к конкретной базе данных. Типичное свойство ConnectionString выглядит следующим образом:
Provider=SQLOLEDB.1;Data Source=MySQLServer;Initial Catalog=NORTHWIND;Integrated Security=SSPI
В этой строке подключения задано использование встроенной системы безопасности Windows. Строка подключения также может содержать пользовательское имя и пароль, но это не рекомендуется, поскольку эти атрибуты затем компилируются в приложение, что влечет возможные угрозы безопасности.
Примечание о безопасности. |
---|
Хранение подробных данных строки подключения (таких как пароль) может угрожать безопасности вашего приложения. Для безопасного управления доступом к базе данных предпочтительнее использовать встроенную систему безопасности Windows. Дополнительные сведения см. в разделе Защита сведений о соединении (ADO.NET). |
Основные пары атрибут-значение, используемые OLE DB, также доступны через отдельные свойства DataSource и Database. При работе с объектом подключения имеется возможность определить свойство ConnectionString одной строкой или задать отдельные свойства подключения. (Если для источника данных необходимы значения строки подключения, не представленные в виде отдельных свойств, необходимо использовать свойство ConnectionString.)
Сохранение и извлечение строк подключения
Строки подключения могут храниться внутри скомпилированного приложения или в файле конфигурации приложения. Дополнительные сведения см. в разделе Практическое руководство. Сохранение строки подключения.
Открытие и закрытие подключений
Двумя основными способами подключений являются Open и Close. В методе Open используются сведения свойства ConnectionString для связи с источником данных и установки открытого подключения. Метод Close завершает подключение. Закрытие подключений необходимо, поскольку большинство источников данных поддерживают только ограниченное число открытых подключений и на открытые подключения отвлекаются ценные системные ресурсы.
При работе с Адаптер таблицы, DataAdapter или командами данных нет необходимости явно открывать и закрывать подключение. При вызове метода этих объектов (например, Fill или Update), метод проверяет наличие уже открытого подключения. Если подключение не открыто, адаптер открывает его, выполняет свои операции и вновь закрывает.
Методы, подобные методу Fill, открывают и закрывают подключение автоматически только в том случае, если оно еще не открыто. Если подключение открыто, методы используют его, но не закрывают. Это позволяет пользователю самостоятельно открывать или закрывать подключения. Это также можно делать, если имеется несколько адаптеров данных, которые совместно используют подключение. В этом случае открывать и закрывать подключение из каждого адаптера при вызове метода Fill было бы неэффективно. Вместо этого пользователь может открыть подключение, вызвать методы Fill для каждого адаптера, а затем закрыть подключение после завершения работы.
Группировка подключений в пул
Разные пользователи, работающие с приложением, зачастую выполняют одни и те же запросы к базе данных. Например, многие пользователи могут делать запросы к одной и той же базе данных, чтобы получить одинаковые данные. В этих случаях производительность приложения повышается, если для однотипных запросов разных пользователей (пула запросов) используется минимальное количество подключений к источнику данных. В противном случае непроизводительные издержки на открытие и закрытие подключения для каждого пользователя могут негативно отражаться на производительности приложения.
Если используются классы OleDbConnection, OdbcConnection или OracleConnection, группировка подключений в пул выполняется поставщиком автоматически, освобождая пользователя от необходимости самостоятельного управления.
Если используется класс SqlConnection, группировка подключений в пул управляется неявным образом, но также предоставляет параметры, которые позволяют самостоятельно управлять организацией пула. Дополнительные сведения см. в разделе Организация пулов соединений SQL Server (ADO.NET).
Транзакции
Объекты подключения поддерживают транзакции с методом BeginTransaction, который создает объект транзакции (например, объект SqlTransaction). Объект транзакции, в свою очередь, поддерживает методы, которые позволяют совершать или отменять транзакции.
Транзакции управляются из кода. Дополнительные сведения см. в разделе Транзакции и параллелизм (ADO.NET).
Платформа .NET Framework версии 2.0 включает новую архитектуру транзакций, доступную через пространство имен System.Transactions. Framework реализует транзакции таким способом, что полностью интегрируется в платформу .NET Framework вместе с ADO.NET. Дополнительные сведения см. в разделе Интеграция System.Transactions с SQL Server (ADO.NET).
Сведения о подключении и безопасность
Поскольку при открытии подключения необходимо получить доступ к такому важному ресурсу, как база данных, при настройке и работе с подключением необходимо помнить о безопасности.
Безопасность приложения и способ его доступа к источнику данных зависят от архитектуры системы. Например, в веб-приложениях пользователи обычно получают анонимный доступ к серверам IIS и поэтому не предоставляют учетные данные. В этом случае у приложения есть собственные учетные данные для работы в системе, которые оно и использует вместо сведений о конкретном пользователе для открытия подключения и доступа к базе данных.
Примечание о безопасности. |
---|
Хранение подробных данных строки подключения (таких как пароль) может угрожать безопасности вашего приложения. Для безопасного управления доступом к базе данных предпочтительнее использовать встроенную систему безопасности Windows. Дополнительные сведения см. в разделе Защита сведений о соединении (ADO.NET). |
В интрасети или многоуровневых приложениях пользователь может воспользоваться преимуществами встроенной системы безопасности, предоставленной Windows, IIS и SQL Server. В этой модели данные проверки подлинности пользователя в локальной сети также используются для доступа к ресурсам базы данных, и в строке подключения имя пользователя или пароль явным образом не указываются. (Обычно разрешения устанавливаются на компьютере сервера базы данных с помощью групп, что освобождает администратора от необходимости устанавливать отдельные разрешения для каждого пользователя, которому необходим доступ к базе данных.) В этой модели пользователю не нужно сохранять учетные данные для подключения: следовательно, не требуются и дополнительные шаги для защиты информации строки подключения.
Для получения дополнительных сведений о безопасности см. следующие разделы.
Подключения на этапе разработки в обозревателе серверов/обозревателе баз данных
Обозреватель серверов/Обозреватель баз данных предоставляет способ создания подключений к источникам данных на этапе разработки. Это позволяет вести поиск доступных источников данных, отображать сведения о таблицах, столбцах и других содержащихся в них элементах, а также редактировать и создавать элементы базы данных.
Приложение напрямую не использует подключения, доступные в Обозревателе серверов/Обозревателе баз данных. Эти подключения используются Visual Studio для работы с базой данных во время разработки. Дополнительные сведения см. в разделе Средства Visual Database Tools.
Например во время разработки можно использовать Обозреватель серверов/Обозреватель баз данных для создания подключения к базе данных. Впоследствии, при разработке формы, пользователь может просмотреть базу данных, выбрать столбцы из таблиц и перетащить их в Конструктор наборов данных. При этом в наборе данных создается Адаптер таблицы. Коме того, программа также создает новый объект подключения (который является частью созданного адаптера таблицы).
Сведения о подключениях на этапе разработки сохраняются на локальном компьютере независимо от конкретного проекта или решения. Таким образом, если при работе над приложением подключение было установлено на этапе разработки, оно появляется в Обозревателе серверов/Обозревателе баз данных при каждом сеансе работы в Visual Studio (до тех пор, пока доступен сервер, на который указывает подключение). Дополнительные сведения об использовании Обозревателя серверов/Обозревателя баз данных и создании подключений во время разработки содержатся в разделе Практическое руководство. Добавление новых подключений к данным в Обозревателе серверов/Обозревателе баз данных.
См. также
Задачи
Практическое руководство. Подключение к данным в базе данных
Пошаговое руководство. Подключение к данным в базе данных
Другие ресурсы
Подключение к данным в Visual Studio
Доступ к данным с помощью ASP.NET
Подготовка приложения к получению данных
Отображение данных на форме в приложениях Windows