OdbcConnection Класс

Определение

Представляет открытое подключение к источнику данных.Represents an open connection to a data source.

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 .The following example creates an OdbcCommand and an OdbcConnection. OdbcConnectionОткрывается и устанавливается в качестве Connection Свойства.The OdbcConnection is opened and set as the Connection property. Затем в примере вызывается ExecuteNonQuery и закрывается соединение.The example then calls ExecuteNonQuery, and closes the connection. Для этого ExecuteNonQuery передается строка подключения и строка запроса, которая является инструкцией SQL INSERT.To accomplish this, the ExecuteNonQuery is passed a connection string and a query string that is an SQL INSERT statement.

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).An OdbcConnection object represents a unique connection to a data source created by using a connection string or ODBC data source name (DSN). В системе базы данных клиента или сервера она эквивалентна сетевому подключению к серверу.With a client/server database system, it is equivalent to a network connection to the server. В зависимости от функциональности, поддерживаемой собственным драйвером ODBC, некоторые методы или свойства OdbcConnection объекта могут быть недоступны.Depending on the functionality supported by the native ODBC driver, some methods or properties of an OdbcConnection object may not be available.

OdbcConnectionОбъект использует собственные ресурсы, такие как среда ODBC и дескрипторы соединения.The OdbcConnection object uses native resources such as ODBC environment and connection handles. Всегда следует явно закрывать все открытые OdbcConnection объекты, вызывая Close или Dispose , прежде чем OdbcConnection объект выходит из области действия или поместив соединение в Using инструкцию.You should always explicitly close any open OdbcConnection objects by calling Close or Dispose before the OdbcConnection object goes out of scope, or by placing the connection within a Using statement. Это не приведет к освобождению этих машинных ресурсов для сборки мусора.Not doing this leaves the freeing of these native resources to garbage collection. Он может не освобождать их немедленно.It might not free them immediately. Это, в свою очередь, может привести к нехватке ресурсов в базовом драйвере или достижении максимального предела.This, in turn, can eventually cause the underlying driver to run out of resources or reach a maximum limit. Это привело к периодическим сбоям.This has resulted in intermittent failures. Например, могут возникнуть ошибки, Maximum Connections связанные с тем, что многие подключения ожидают удаления сборщиком мусора.For example, you might experience Maximum Connections -related errors while many connections are waiting to be deleted by the garbage collector. Явное закрытие подключений позволяет более эффективно использовать машинные ресурсы, улучшая масштабируемость и улучшая общую производительность приложения.Explicitly closing the connections allows for a more efficient use of native resources, enhancing scalability and improving overall application performance.

Примечание

Для развертывания высокопроизводительных приложений часто необходимо использовать пулы соединений.To deploy high-performance applications, you frequently must use connection pooling. Однако при использовании поставщика данных платформа .NET Framework для ODBC не требуется включать пулы соединений, так как поставщик управляет этим автоматически.However, when you use the .NET Framework Data Provider for ODBC, you do not have to enable connection pooling because the provider manages this automatically.

Если один из Execute методов OdbcCommand класса вызывает неустранимую ошибку OdbcException (например, SQL Server уровень серьезности 20 или выше), OdbcConnection может закрыться.If one of the Execute methods of the OdbcCommand class causes a fatal OdbcException (for example, a SQL Server severity level of 20 or greater), the OdbcConnection may close. Тем не менее, пользователь может опять открыть подключение и продолжить работу.However, the user can reopen the connection and continue.

Приложение, создающее экземпляр OdbcConnection объекта, может потребовать, чтобы все прямые и косвенные вызывающие объекты имели достаточные разрешения на доступ к коду, установив декларативные или императивные требования безопасности.An application that creates an instance of the OdbcConnection object can require all direct and indirect callers to have sufficient permission to the code by setting declarative or imperative security demands. OdbcConnection создает требования безопасности с помощью OdbcPermission объекта.OdbcConnection creates security demands by using the OdbcPermission object. Пользователи могут убедиться, что их код имеет достаточные разрешения с помощью OdbcPermissionAttribute объекта.Users can verify that their code has sufficient permissions by using the OdbcPermissionAttribute object. Пользователи и администраторы также могут использовать средство политики управления доступом для кода (Caspol.exe) для изменения политики безопасности на уровне компьютера, пользователя и предприятия.Users and administrators can also use the Code Access Security Policy Tool (Caspol.exe) to modify security policy at the computer, user, and enterprise levels. Для получения дополнительной информации см. Code Access Security and ADO.NET.For more information, see Code Access Security and ADO.NET.

Дополнительные сведения об обработке предупреждений и информационных сообщений из источника данных см. в разделе события подключения.For more information about handling warning and informational messages from the data source, see Connection Events.

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

OdbcConnection()

Инициализирует новый экземпляр класса OdbcConnection.Initializes a new instance of the OdbcConnection class.

OdbcConnection(String)

Инициализирует новый экземпляр класса OdbcConnection с заданной строкой подключения.Initializes a new instance of the OdbcConnection class with the specified connection string.

Свойства

CanRaiseEvents

Возвращает значение, показывающее, может ли компонент вызывать событие.Gets a value indicating whether the component can raise an event.

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

Возвращает или задает строку, используемую для открытия источника данных.Gets or sets the string used to open a data source.

ConnectionTimeout

Возвращает или задает значение времени ожидания (в секундах) при попытке установления подключения, по истечении которого процедура завершается и генерируется ошибка.Gets or sets the time to wait (in seconds) while trying to establish a connection before terminating the attempt and generating an error.

Container

Возвращает объект IContainer, который содержит коллекцию Component.Gets the IContainer that contains the Component.

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

Получает имя текущей базы данных или базы данных, которая будет использоваться после открытия подключения.Gets the name of the current database or the database to be used after a connection is opened.

DataSource

Получает имя сервера или имя файла источника данных.Gets the server name or file name of the data source.

DbProviderFactory

Получает объект DbProviderFactory для данного элемента DbConnection.Gets the DbProviderFactory for this DbConnection.

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

Возвращает значение, указывающее, находится ли данный компонент Component в режиме конструктора в настоящее время.Gets a value that indicates whether the Component is currently in design mode.

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

Получает имя драйвера ODBC, заданного для текущего подключения.Gets the name of the ODBC driver specified for the current connection.

Events

Возвращает список обработчиков событий, которые прикреплены к этому объекту Component.Gets the list of event handlers that are attached to this Component.

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

Получает строку, содержащую номер версии сервера, к которому подключается клиент.Gets a string that contains the version of the server to which the client is connected.

Site

Получает или задает ISite объекта Component.Gets or sets the ISite of the Component.

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

Возвращает текущее состояние подключения.Gets the current state of the connection.

Методы

BeginDbTransaction(IsolationLevel)

При переопределении в производном классе запускает транзакцию в базе данных.When overridden in a derived class, starts a database transaction.

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

Асинхронно запускает транзакцию в базе данных.Asynchronously starts a database transaction.

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

Начинает транзакцию в источнике данных.Starts a transaction at the data source.

BeginTransaction(IsolationLevel)

Начинает транзакцию в источнике данных, используя заданное значение IsolationLevel.Starts a transaction at the data source with the specified IsolationLevel value.

BeginTransactionAsync(CancellationToken)

Асинхронно начинает транзакцию базы данных.Asynchronously begins a database transaction.

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

Асинхронно начинает транзакцию базы данных.Asynchronously begins a database transaction.

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

Изменяет текущую базу данных, связанную с открытым подключением OdbcConnection.Changes the current database associated with an open OdbcConnection.

ChangeDatabaseAsync(String, CancellationToken)

Асинхронно изменяет текущую базу данных для открытого подключения.Asynchronously changes the current database for an open connection.

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

Закрывает подключение к источнику данных.Closes the connection to the data source.

CloseAsync()

Асинхронно закрывает подключение к базе данных.Asynchronously closes the connection to the database.

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

Создает и возвращает объект OdbcCommand, связанный с объектом OdbcConnection.Creates and returns an OdbcCommand object associated with the OdbcConnection.

CreateDbCommand()

При переопределении в производном классе создает и возвращает объект DbCommand, связанный с текущим подключением.When overridden in a derived class, creates and returns a DbCommand object associated with the current connection.

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

Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для взаимодействия с удаленным объектом.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

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

Выполняет определяемые приложением задачи, связанные с удалением, высвобождением или сбросом неуправляемых ресурсов.Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

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

Освобождает все ресурсы, занятые модулем Component.Releases all resources used by the Component.

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

Освобождает неуправляемые ресурсы, используемые объектом DbConnection, а при необходимости освобождает также управляемые ресурсы.Releases the unmanaged resources used by the DbConnection and optionally releases the managed resources.

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

Освобождает неуправляемые ресурсы, используемые объектом Component, а при необходимости освобождает также управляемые ресурсы.Releases the unmanaged resources used by the Component and optionally releases the managed resources.

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

Асинхронно размещает объект подключения.Asynchronously diposes the connection object.

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

Выполняет присоединение указанной транзакции как распределенной транзакции.Enlists in the specified transaction as a distributed transaction.

EnlistTransaction(Transaction)

Выполняет присоединение указанной транзакции как распределенной транзакции.Enlists in the specified transaction as a distributed transaction.

EnlistTransaction(Transaction)

Выполняет прикрепление в указанной транзакции.Enlists in the specified transaction.

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

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

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

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetLifetimeService()
Является устаревшей.

Извлекает объект обслуживания во время существования, который управляет политикой времени существования данного экземпляра.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

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

Возвращает сведения схемы для источника данных этого объекта OdbcConnection.Returns schema information for the data source of this OdbcConnection.

GetSchema()

Возвращает сведения схемы для источника данных этого объекта DbConnection.Returns schema information for the data source of this DbConnection.

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

Возвращает сведения схемы для источника данных этого объекта OdbcConnection, используя указанное имя для имени схемы.Returns schema information for the data source of this OdbcConnection using the specified name for the schema name.

GetSchema(String)

Возвращает сведения о схеме для источника данных этого объекта DbConnection, используя указанную строку в качестве имени схемы.Returns schema information for the data source of this DbConnection using the specified string for the schema name.

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

Возвращает сведения о схеме для источника данных этого объекта OdbcConnection, используя указанную строку в качестве имени схемы и указанный массив строк для значений ограничений.Returns schema information for the data source of this OdbcConnection using the specified string for the schema name and the specified string array for the restriction values.

GetSchema(String, String[])

Возвращает сведения о схеме для источника данных этого объекта DbConnection, используя указанную строку в качестве имени схемы и указанный массив строк для значений ограничений.Returns schema information for the data source of this DbConnection using the specified string for the schema name and the specified string array for the restriction values.

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

Это асинхронная версия метода GetSchema().This is an asynchronous version of GetSchema(). Поставщики должны выполнить переопределение с помощью соответствующей реализации.Providers should override with an appropriate implementation. При необходимости можно учитывать cancellationToken.The cancellationToken can optionally be honored. Реализация по умолчанию вызывает синхронный метод GetSchema() и возвращает выполненную задачу.The default implementation invokes the synchronous GetSchema() call and returns a completed task. Реализация по умолчанию возвращает отмененную задачу, если ей передается уже отмененный cancellationToken.The default implementation will return a cancelled task if passed an already cancelled cancellationToken. Исключения, создаваемые GetSchema(), будут связаны через возвращаемое свойство исключения задачи.Exceptions thrown by GetSchema() will be communicated via the returned Task Exception property.

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

Это асинхронная версия метода GetSchema(String).This is the asynchronous version of GetSchema(String). Поставщики должны выполнить переопределение с помощью соответствующей реализации.Providers should override with an appropriate implementation. При необходимости можно учитывать cancellationToken.The cancellationToken can optionally be honored. Реализация по умолчанию вызывает синхронный метод GetSchema(String) и возвращает выполненную задачу.The default implementation invokes the synchronous GetSchema(String) call and returns a completed task. Реализация по умолчанию возвращает отмененную задачу, если ей передается уже отмененный cancellationToken.The default implementation will return a cancelled task if passed an already cancelled cancellationToken. Исключения, создаваемые GetSchema(String), будут связаны через возвращаемое свойство исключения задачи.Exceptions thrown by GetSchema(String) will be communicated via the returned Task Exception property.

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

Это асинхронная версия метода GetSchema(String, String[]).This is the asynchronous version of GetSchema(String, String[]). Поставщики должны выполнить переопределение с помощью соответствующей реализации.Providers should override with an appropriate implementation. При необходимости можно учитывать cancellationToken.The cancellationToken can optionally be honored. Реализация по умолчанию вызывает синхронный метод GetSchema(String, String[]) и возвращает выполненную задачу.The default implementation invokes the synchronous GetSchema(String, String[]) call and returns a completed task. Реализация по умолчанию возвращает отмененную задачу, если ей передается уже отмененный cancellationToken.The default implementation will return a cancelled task if passed an already cancelled cancellationToken. Исключения, создаваемые GetSchema(String, String[]), будут связаны через возвращаемое свойство исключения задачи.Exceptions thrown by GetSchema(String, String[]) will be communicated via the returned Task Exception property.

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

Возвращает объект, представляющий службу, предоставляемую классом Component или классом Container.Returns an object that represents a service provided by the Component or by its Container.

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

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
InitializeLifetimeService()
Является устаревшей.

Получает объект службы времени существования для управления политикой времени существования для этого экземпляра.Obtains a lifetime service object to control the lifetime policy for this instance.

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

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

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

Создает неполную копию текущего объекта MarshalByRefObject.Creates a shallow copy of the current MarshalByRefObject object.

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

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

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

Открывает подключение к источнику данных с параметрами свойства, задаваемыми объектом ConnectionString.Opens a connection to a data source with the property settings specified by the ConnectionString.

OpenAsync()

Асинхронная версия Open(), которая открывает соединение с базой данных с параметрами, указанными ConnectionString.An asynchronous version of Open(), which opens a database connection with the settings specified by the ConnectionString. Этот метод вызывает виртуальный метод OpenAsync(CancellationToken) с CancellationToken.None.This method invokes the virtual method OpenAsync(CancellationToken) with CancellationToken.None.

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

Это асинхронная версия метода Open().This is the asynchronous version of Open(). Поставщики должны выполнить переопределение с помощью соответствующей реализации.Providers should override with an appropriate implementation. При необходимости можно учитывать токен отмены.The cancellation token can optionally be honored.

Реализация по умолчанию вызывает синхронный метод Open() и возвращает выполненную задачу.The default implementation invokes the synchronous Open() call and returns a completed task. Реализация по умолчанию возвращает отмененную задачу, если ей передается уже отмененный cancellationToken.The default implementation will return a cancelled task if passed an already cancelled cancellationToken. Исключения, создаваемые Open, будут связаны через возвращаемое свойство исключения задачи.Exceptions thrown by Open will be communicated via the returned Task Exception property.

Не вызывайте другие методы и свойства объекта DbConnection до тех пор, пока возвращаемая задача не будет завершена.Do not invoke other methods and properties of the DbConnection object until the returned Task is complete.

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

Указывает, что при освобождении последнего основного подключения может быть отключен обработчик среды ODBC Driver Manager.Indicates that the ODBC Driver Manager environment handle can be released when the last underlying connection is released.

ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

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

Возвращает объект String, содержащий имя Component, если оно есть.Returns a String containing the name of the Component, if any. Этот метод не следует переопределять.This method should not be overridden.

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

События

Disposed

Возникает при удалении компонента путем вызова метода Dispose().Occurs when the component is disposed by a call to the Dispose() method.

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

Происходит при отсылке драйвером ODBC предупреждающего или информационного сообщения.Occurs when the ODBC driver sends a warning or an informational message.

StateChange

Возникает при изменении состояния подключения.Occurs when the state of the connection changes.

StateChange

Возникает при изменении состояния подключения.Occurs when the state of the connection changes.

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

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

ICloneable.Clone()

Описание этого члена см. в разделе Clone().For a description of this member, see Clone().

IDbConnection.BeginTransaction()

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

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

IDbConnection.BeginTransaction()

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

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

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

Начинает транзакцию базы данных с указанным уровнем изоляции.Begins a database transaction with the specified isolation level.

IDbConnection.BeginTransaction(IsolationLevel)

Начинает транзакцию базы данных с указанным уровнем изоляции.Begins a database transaction with the specified isolation level.

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

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

Создает и возвращает объект команды, связанный с подключением.Creates and returns a command object associated with the connection.

IDbConnection.CreateCommand()

Создает и возвращает объект DbCommand, связанный с текущим подключением.Creates and returns a DbCommand object that is associated with the current connection.

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

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