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
Наследование
OdbcConnection
Наследование
Наследование
Реализации

Примеры

В следующем примере создаются и OdbcCommandOdbcConnection. Открывается 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 с ошибками, связанными с тем, что многие подключения ожидают удаления сборщиком мусора. Явное закрытие подключений позволяет более эффективно использовать собственные ресурсы, повышая масштабируемость и повышая общую производительность приложения.

Примечание

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

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

Приложению, создающее экземпляр OdbcConnection объекта, может потребоваться, чтобы все прямые и косвенные вызывающие объекты имели достаточные разрешения на код, устанавливая декларативные или императивные требования безопасности. OdbcConnection создает требования безопасности с помощью OdbcPermission объекта . Пользователи могут убедиться, что их код имеет достаточные разрешения, используя OdbcPermissionAttribute объект . Пользователи и администраторы также могут использовать средство политики безопасности доступа к коду (Caspol.exe) для изменения политики безопасности на уровне компьютера, пользователя и предприятия. Для получения дополнительной информации см. Code Access Security and 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

Получает или задает ISite объекта Component.

(Унаследовано от 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()

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

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

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

GetSchema(String)

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

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

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

GetSchema(String, String[])

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

(Унаследовано от DbConnection)
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() и возвращает выполненную задачу. Реализация по умолчанию возвращает отмененную задачу, если ей передается уже отмененный cancellationToken. Исключения, создаваемые Open, будут связаны через возвращаемое свойство исключения задачи.

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

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

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

ToString()

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

(Унаследовано от Object)
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)

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

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