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


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

Примеры

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

Заметка

Чтобы развернуть высокопроизводительные приложения, часто следует использовать пул подключений. Однако при использовании поставщика данных .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 класса с указанной строкой подключения.

Свойства

Имя Описание
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)
BeginTransaction()

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

BeginTransaction(IsolationLevel)

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

ChangeDatabase(String)

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

Close()

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

CreateCommand()

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

CreateDbCommand()

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

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

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

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

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

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

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

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

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

EnlistTransaction(Transaction)

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

Equals(Object)

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

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

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

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

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

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

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

GetSchema(String, String[])

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

GetSchema(String)

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

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)

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

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