Установка подключения
Для создания соединения с Microsoft SQL Server используется объект SqlConnection поставщика данных .NET Framework для SQL Server. Для соединения с источником данных OLE DB используется объект OleDbConnection поставщика данных .NET Framework для OLE DB. Для соединения с источником данных используется объект OdbcConnection поставщика данных .NET Framework для ODBC. Для соединения с источником данных Oracle используется объект OracleConnection поставщика данных .NET Framework для Oracle. Сведения о безопасном хранении и извлечении строк подключения см. в статье Защита сведений о подключении.
Закрытие соединений
Рекомендуется всегда закрывать соединение после использования, чтобы обеспечить его возврат в пул. Блок Using
в Visual Basic или C# автоматически удаляет соединение при выходе в коде из блока даже при наличии необработанного исключения. Дополнительные сведения см using
. в инструкции и Using
инструкции .
Также можно использовать методы Close
или Dispose
объекта соединения для используемого поставщика. Соединения, которые явно не закрыты, нельзя добавить или вернуть в пул. Например, соединение, которое вышло за пределы области, но явно закрыто не было, будет возвращено в пул соединений только в том случае, если был достигнут максимальный размер этого пула, а соединение еще действует. Дополнительные сведения см. в разделе OLE DB, ODBC и Пул подключений Oracle.
Примечание.
В методе Finalize
вашего класса нельзя вызывать методы Close
или Dispose
объектов Connection, DataReader или любого другого управляемого объекта. В методе завершения следует только освобождать неуправляемые ресурсы, которыми ваш класс непосредственно владеет. Если класс не владеет какими-либо неуправляемыми ресурсами, не включайте в его определение метод Finalize
. Дополнительные сведения см. в статье Сборка мусора.
Примечание.
События входа в систему и выхода из системы не вызываются на сервере при выборке подключения из пула подключений и при возврате его в пул подключений, поскольку при возврате в пул подключений подключение фактически не закрывается. Дополнительные сведения см. в разделе Объединение подключений в пул в SQL Server (ADO.NET).
Подключение к SQL Server
Поставщик данных .NET Framework для SQL Server поддерживает формат строки соединения, аналогичный формату строки соединения OLE DB (ADO). Сведения о допустимых именах и значениях формата строки см. в свойстве ConnectionString объекта SqlConnection. Можно также использовать класс SqlConnectionStringBuilder для создания синтаксически правильных строк соединения во время выполнения. Дополнительные сведения см. в статье Connection String Builders (Построители строк подключения).
В следующем примере кода демонстрируется способ создания и открытия соединения с базой данных SQL Server.
' Assumes connectionString is a valid connection string.
Using connection As New SqlConnection(connectionString)
connection.Open()
' Do work here.
End Using
// Assumes connectionString is a valid connection string.
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
// Do work here.
}
Встроенная безопасность и ASP.NET
Встроенная безопасность SQL Server (именуемая также доверительными соединениями) обеспечивает защиту при соединении с SQL Server, так как не отображает идентификатор пользователя и пароль в строке соединения, поэтому является рекомендуемым методом проверки подлинности соединения. Встроенная безопасность основана на использовании текущего идентификатора безопасности, или маркера выполняемого процесса. В приложениях рабочего стола, как правило, используется идентификатор текущего, вошедшего в систему пользователя.
Идентификатор безопасности приложений ASP.NET может быть настроен на получение одного из нескольких различных параметров. Чтобы лучше понять удостоверение безопасности, используемое приложением ASP.NET при подключении к SQL Server, см . статью ASP.NET олицетворение, ASP.NET аутентификацию и практическое руководство. Доступ к SQL Server с помощью интегрированной безопасности Windows.
Подключение к источнику данных OLE DB
Поставщик данных платформа .NET Framework для OLE DB обеспечивает подключение к источникам данных, предоставляемым с помощью OLE DB (через SQLOLEDB, поставщика OLE DB для SQL Server), используя объект OleDbConnection.
Формат строки соединения поставщика данных .NET Framework для OLE DB идентичен формату строки соединения, используемому в ADO, за исключением следующего.
Ключевое слово поставщика является обязательным.
Ключевые слова URL-адреса, удаленного поставщика и удаленного сервера не поддерживаются.
Дополнительные сведения о строка подключения OLE DB см. в артефактеConnectionString. Построитель OleDbConnectionStringBuilder также используется для создания строк соединения во время выполнения.
Примечание.
Объект OleDbConnection не поддерживает настройку или получение динамических свойств, относящихся к поставщику OLE DB. Поддерживаются только те свойства, которые можно передать в строке соединения поставщику OLE DB.
В следующем примере кода демонстрируется способ создания и открытия соединения с источником данных OLE DB.
' Assumes connectionString is a valid connection string.
Using connection As New OleDbConnection(connectionString)
connection.Open()
' Do work here.
End Using
// Assumes connectionString is a valid connection string.
using (OleDbConnection connection =
new OleDbConnection(connectionString))
{
connection.Open();
// Do work here.
}
Отказ от использования файлов в формате UDL
Вы можете указать сведения о подключении для OleDbConnection в файле универсального канала данных (UDL), однако следует избежать этого. UDL-файлы не подвергаются шифрованию, и строки соединения хранятся в них в виде простого текста. Так как UDL-файл представляет собой внешний файловый ресурс для приложения, его нельзя защитить средствами .NET Framework.
Подключение к источнику данных ODBC
Поставщик данных платформа .NET Framework для ODBC обеспечивает подключение к источникам данных, предоставляемым с помощью ODBC, с помощью объекта OdbcConnection.
Формат строки соединения поставщика данных .NET Framework для ODBC создан с учетом настолько полного согласования с форматом строки соединения ODBC, насколько это возможно. Также можно указать имя источника данных ODBC (DSN). Дополнительные сведения об OdbcConnection см. в разделе OdbcConnection.
В следующем примере кода демонстрируется способ создания и открытия соединения с источником данных ODBC.
' Assumes connectionString is a valid connection string.
Using connection As New OdbcConnection(connectionString)
connection.Open()
' Do work here.
End Using
// Assumes connectionString is a valid connection string.
using (OdbcConnection connection =
new OdbcConnection(connectionString))
{
connection.Open();
// Do work here.
}
Подключение к источнику данных Oracle
Поставщик данных платформа .NET Framework для Oracle обеспечивает подключение к источникам данных Oracle с помощью объекта OracleConnection.
Формат строки соединения поставщика данных .NET Framework для Oracle создан с учетом настолько полного согласования с форматом строки соединения поставщика OLE DB для Oracle (MSDAORA), насколько это возможно. Дополнительные сведения о OracleConnection см. в разделе OracleConnection.
В следующем примере кода демонстрируется способ создания и открытия соединения с источником данных Oracle.
' Assumes connectionString is a valid connection string.
Using connection As New OracleConnection(connectionString)
connection.Open()
' Do work here.
End Using
// Assumes connectionString is a valid connection string.
using (OracleConnection connection =
new OracleConnection(connectionString))
{
connection.Open();
// Do work here.
}