Поделиться через


OdbcConnection Класс

Определение

Представляет открытое подключение к источнику данных.

public ref class OdbcConnection sealed : System::Data::Common::DbConnection, ICloneable
public ref class OdbcConnection sealed : System::ComponentModel::Component, ICloneable, IDisposable, System::Data::IDbConnection
public sealed class OdbcConnection : System.Data.Common.DbConnection, ICloneable
public sealed class OdbcConnection : System.ComponentModel.Component, ICloneable, IDisposable, System.Data.IDbConnection
type OdbcConnection = class
    inherit DbConnection
    interface ICloneable
type OdbcConnection = class
    inherit Component
    interface ICloneable
    interface IDbConnection
    interface IDisposable
Public NotInheritable Class OdbcConnection
Inherits DbConnection
Implements ICloneable
Public NotInheritable Class OdbcConnection
Inherits Component
Implements ICloneable, IDbConnection, IDisposable
Наследование
Наследование
Реализации

Примеры

В следующем примере создается OdbcCommand и OdbcConnection. OdbcConnection открывается и задается в качестве свойства Connection. Затем в примере вызывается ExecuteNonQueryи закрывается подключение. Для этого ExecuteNonQuery передается строка подключения и строка запроса, которая является инструкцией SQL INSERT.

static private void InsertRow(string connectionString)
{
    string queryString =
        "INSERT INTO Customers (CustomerID, CompanyName) Values('NWIND', 'Northwind Traders')";
    OdbcCommand command = new OdbcCommand(queryString);

    using (OdbcConnection connection = new OdbcConnection(connectionString))
    {
        command.Connection = connection;
        connection.Open();
        command.ExecuteNonQuery();

        // The connection is automatically closed at
        // the end of the Using block.
    }
}
Private Sub InsertRow(ByVal connectionString As String)

    Dim queryString As String = _
        "INSERT INTO Customers (CustomerID, CompanyName) Values('NWIND', 'Northwind Traders')"
    Dim command As New OdbcCommand(queryString)

    Using connection As New OdbcConnection(connectionString)
        command.Connection = connection
        connection.Open()
        command.ExecuteNonQuery()

        ' The connection is automatically closed at 
        ' the end of the Using block.
    End Using
End Sub

Комментарии

Объект OdbcConnection представляет уникальное подключение к источнику данных, созданному с помощью строки подключения или имени источника данных ODBC (DSN). В клиентской или серверной базе данных это эквивалентно сетевому подключению к серверу. В зависимости от функциональности, поддерживаемой собственным драйвером ODBC, некоторые методы или свойства объекта OdbcConnection могут быть недоступны.

Объект OdbcConnection использует собственные ресурсы, такие как среда ODBC и дескриптор подключения. Вы всегда должны явно закрыть все открытые объекты OdbcConnection путем вызова Close или Dispose, прежде чем объект OdbcConnection выходит из области или путем размещения соединения в инструкции Using. Это не позволяет освободить эти собственные ресурсы для сборки мусора. Это может не освободить их немедленно. Это, в свою очередь, может привести к тому, что базовый драйвер не упустит ресурсы или достигнет максимального предела. Это привело к периодическим сбоям. Например, могут возникнуть ошибки Maximum Connections -related во время ожидания удаления многих подключений сборщиком мусора. Явное закрытие подключений позволяет более эффективно использовать собственные ресурсы, повышая масштабируемость и повышая общую производительность приложений.

Заметка

Чтобы развернуть высокопроизводительные приложения, часто следует использовать пул подключений. Однако при использовании поставщика данных .NET Framework для ODBC не требуется включить пул подключений, так как поставщик управляет этим автоматически.

Если один из методов Execute класса OdbcCommand вызывает неустранимую OdbcException (например, уровень серьезности SQL Server 20 или больше), OdbcConnection может закрыться. Однако пользователь может повторно открыть подключение и продолжить.

Приложение, создающее экземпляр объекта OdbcConnection, может требовать, чтобы все прямые и косвенные вызывающие объекты имели достаточно разрешений на код, задав декларативные или императивные требования к безопасности. OdbcConnection создает требования к безопасности с помощью объекта OdbcPermission. Пользователи могут убедиться, что код имеет достаточные разрешения с помощью объекта OdbcPermissionAttribute. Пользователи и администраторы также могут использовать средство политики безопасности доступа к коду (Caspol.exe) для изменения политики безопасности на компьютере, пользователе и корпоративных уровнях. Дополнительные сведения см. в разделе Безопасность доступа к коду и ADO.NET.

Дополнительные сведения об обработке предупреждений и информационных сообщений из источника данных см. в событиях подключения.

Конструкторы

OdbcConnection()

Инициализирует новый экземпляр класса OdbcConnection.

OdbcConnection(String)

Инициализирует новый экземпляр класса OdbcConnection с указанной строкой подключения.

Свойства

CanCreateBatch

Возвращает значение, указывающее, поддерживает ли этот экземпляр DbConnection класс DbBatch.

(Унаследовано от DbConnection)
CanRaiseEvents

Возвращает значение, указывающее, может ли компонент вызвать событие.

(Унаследовано от Component)
ConnectionString

Возвращает или задает строку, используемую для открытия источника данных.

ConnectionTimeout

Возвращает или задает время ожидания (в секундах) при попытке установить соединение перед завершением попытки и созданием ошибки.

Container

Возвращает IContainer, содержащую Component.

(Унаследовано от Component)
Database

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

DataSource

Возвращает имя сервера или имя файла источника данных.

DbProviderFactory

Возвращает DbProviderFactory для этого DbConnection.

(Унаследовано от DbConnection)
DesignMode

Возвращает значение, указывающее, находится ли Component в режиме конструктора.

(Унаследовано от Component)
Driver

Возвращает имя драйвера ODBC, указанного для текущего подключения.

Events

Возвращает список обработчиков событий, подключенных к этой Component.

(Унаследовано от Component)
ServerVersion

Возвращает строку, содержащую версию сервера, к которому подключен клиент.

Site

Возвращает или задает ISiteComponent.

(Унаследовано от Component)
State

Возвращает текущее состояние подключения.

Методы

BeginDbTransaction(IsolationLevel)

При переопределении в производном классе запускает транзакцию базы данных.

(Унаследовано от DbConnection)
BeginDbTransactionAsync(IsolationLevel, CancellationToken)

Асинхронно запускает транзакцию базы данных.

(Унаследовано от DbConnection)
BeginTransaction()

Запускает транзакцию в источнике данных.

BeginTransaction(IsolationLevel)

Запускает транзакцию в источнике данных с указанным значением IsolationLevel.

BeginTransactionAsync(CancellationToken)

Асинхронно начинает транзакцию базы данных.

(Унаследовано от DbConnection)
BeginTransactionAsync(IsolationLevel, CancellationToken)

Асинхронно начинает транзакцию базы данных.

(Унаследовано от DbConnection)
ChangeDatabase(String)

Изменяет текущую базу данных, связанную с открытым OdbcConnection.

ChangeDatabaseAsync(String, CancellationToken)

Асинхронно изменяет текущую базу данных для открытого подключения.

(Унаследовано от DbConnection)
Close()

Закрывает подключение к источнику данных.

CloseAsync()

Асинхронно закрывает подключение к базе данных.

(Унаследовано от DbConnection)
CreateBatch()

Возвращает новый экземпляр класса поставщика, реализующего класс DbBatch.

(Унаследовано от DbConnection)
CreateCommand()

Создает и возвращает объект OdbcCommand, связанный с OdbcConnection.

CreateDbBatch()

При переопределении в производном классе возвращает новый экземпляр класса поставщика, реализующего класс DbBatch.

(Унаследовано от DbConnection)
CreateDbCommand()

При переопределении в производном классе создает и возвращает объект DbCommand, связанный с текущим подключением.

(Унаследовано от DbConnection)
CreateObjRef(Type)

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

(Унаследовано от MarshalByRefObject)
Dispose()

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

(Унаследовано от DbConnection)
Dispose()

Освобождает все ресурсы, используемые Component.

(Унаследовано от Component)
Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые DbConnection, и при необходимости освобождает управляемые ресурсы.

(Унаследовано от DbConnection)
Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые Component, и при необходимости освобождает управляемые ресурсы.

(Унаследовано от Component)
DisposeAsync()

Асинхронно разлагает объект подключения.

(Унаследовано от DbConnection)
EnlistDistributedTransaction(ITransaction)

Выполняет перечисление в указанную транзакцию в виде распределенной транзакции.

EnlistTransaction(Transaction)

Выполняет перечисление в указанную транзакцию в виде распределенной транзакции.

EnlistTransaction(Transaction)

Перечисление в указанной транзакции.

(Унаследовано от DbConnection)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetLifetimeService()
Устаревшие..

Извлекает текущий объект службы времени существования, который управляет политикой времени существования для этого экземпляра.

(Унаследовано от MarshalByRefObject)
GetSchema()

Возвращает сведения о схеме для источника данных этого OdbcConnection.

GetSchema(String)

Возвращает сведения о схеме для источника данных этого OdbcConnection, используя указанное имя для имени схемы.

GetSchema(String, String[])

Возвращает сведения о схеме для источника данных этого OdbcConnection с помощью указанной строки для имени схемы и указанного массива строк для значений ограничений.

GetSchemaAsync(CancellationToken)

Это асинхронная версия GetSchema(). Поставщики должны переопределить соответствующую реализацию. cancellationToken можно при необходимости учитывать. Реализация по умолчанию вызывает синхронный вызов GetSchema() и возвращает завершенную задачу. Реализация по умолчанию возвращает отмененную задачу при передаче уже отмененной cancellationToken. Исключения, создаваемые GetSchema(), будут передаваться через возвращаемое свойство "Исключение задачи".

(Унаследовано от DbConnection)
GetSchemaAsync(String, CancellationToken)

Это асинхронная версия GetSchema(String). Поставщики должны переопределить соответствующую реализацию. cancellationToken можно при необходимости учитывать. Реализация по умолчанию вызывает синхронный вызов GetSchema(String) и возвращает завершенную задачу. Реализация по умолчанию возвращает отмененную задачу при передаче уже отмененной cancellationToken. Исключения, создаваемые GetSchema(String), будут передаваться через возвращаемое свойство "Исключение задачи".

(Унаследовано от DbConnection)
GetSchemaAsync(String, String[], CancellationToken)

Это асинхронная версия GetSchema(String, String[]). Поставщики должны переопределить соответствующую реализацию. cancellationToken можно при необходимости учитывать. Реализация по умолчанию вызывает синхронный вызов GetSchema(String, String[]) и возвращает завершенную задачу. Реализация по умолчанию возвращает отмененную задачу при передаче уже отмененной cancellationToken. Исключения, создаваемые GetSchema(String, String[]), будут передаваться через возвращаемое свойство "Исключение задачи".

(Унаследовано от DbConnection)
GetService(Type)

Возвращает объект, представляющий службу, предоставляемую Component или Container.

(Унаследовано от Component)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
InitializeLifetimeService()
Устаревшие..

Получает объект службы времени существования для управления политикой времени существования для этого экземпляра.

(Унаследовано от MarshalByRefObject)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
MemberwiseClone(Boolean)

Создает неглубокую копию текущего объекта MarshalByRefObject.

(Унаследовано от MarshalByRefObject)
OnStateChange(StateChangeEventArgs)

Вызывает событие StateChange.

(Унаследовано от DbConnection)
Open()

Открывает подключение к источнику данных с параметрами свойств, указанными ConnectionString.

OpenAsync()

Асинхронная версия Open(), которая открывает подключение к базе данных с параметрами, указанными ConnectionString. Этот метод вызывает виртуальный метод OpenAsync(CancellationToken) с помощью CancellationToken.None.

(Унаследовано от DbConnection)
OpenAsync(CancellationToken)

Это асинхронная версия Open(). Поставщики должны переопределить соответствующую реализацию. Маркер отмены можно при необходимости учитывать.

Реализация по умолчанию вызывает синхронный вызов Open() и возвращает завершенную задачу. Реализация по умолчанию возвращает отмененную задачу, если передана уже отмененная отменаToken. Исключения, создаваемые Open, будут передаваться через возвращаемое свойство "Исключение задачи".

Не вызывайте другие методы и свойства объекта DbConnection до завершения возвращаемой задачи.

(Унаследовано от DbConnection)
ReleaseObjectPool()

Указывает, что дескриптор среды ODBC Driver Manager можно освободить при выпуске последнего базового подключения.

ToString()

Возвращает String, содержащую имя Component, если таковой имеется. Этот метод не должен быть переопределен.

(Унаследовано от Component)

События

Disposed

Происходит при удалении компонента вызовом метода Dispose().

(Унаследовано от Component)
InfoMessage

Происходит, когда драйвер ODBC отправляет предупреждение или информационное сообщение.

StateChange

Происходит при изменении состояния подключения.

StateChange

Происходит при изменении состояния подключения.

(Унаследовано от DbConnection)

Явные реализации интерфейса

ICloneable.Clone()

Описание этого элемента см. в разделе Clone().

IDbConnection.BeginTransaction()

Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода.

Начинает транзакцию базы данных.

IDbConnection.BeginTransaction()

Начинает транзакцию базы данных.

(Унаследовано от DbConnection)
IDbConnection.BeginTransaction(IsolationLevel)

Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода.

Начинает транзакцию базы данных с указанным уровнем изоляции.

IDbConnection.BeginTransaction(IsolationLevel)

Начинает транзакцию базы данных с указанным уровнем изоляции.

(Унаследовано от DbConnection)
IDbConnection.CreateCommand()

Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода.

Создает и возвращает объект команды, связанный с подключением.

IDbConnection.CreateCommand()

Создает и возвращает объект DbCommand, связанный с текущим подключением.

(Унаследовано от DbConnection)

Методы расширения

ConfigureAwait(IAsyncDisposable, Boolean)

Настраивает способ ожидания задач, возвращаемых из асинхронного удаления.

Применяется к

См. также раздел