OleDbConnection Класс

Определение

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

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

Примеры

В следующем примере создаются и OleDbCommandOleDbConnection. Соединение OleDbConnection открыто и задано в свойстве Connection объекта OleDbCommand. После этого в примере вызывается метод ExecuteNonQuery, после чего соединение закрывается. Для этого ExecuteNonQuery передается строка подключения и строка запроса, которая является инструкцией SQL INSERT.

public void InsertRow(string connectionString, string insertSQL)
{
    using (OleDbConnection connection = new OleDbConnection(connectionString))
    {
        // The insertSQL string contains a SQL statement that
        // inserts a new row in the source table.
        OleDbCommand command = new OleDbCommand(insertSQL);

        // Set the Connection to the new OleDbConnection.
        command.Connection = connection;

        // Open the connection and execute the insert command.
        try
        {
            connection.Open();
            command.ExecuteNonQuery();
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
        // The connection is automatically closed when the
        // code exits the using block.
    }
}
Public Sub InsertRow(ByVal connectionString As String, _
    ByVal insertSQL As String)

    Using connection As New OleDbConnection(connectionString)
        ' The insertSQL string contains a SQL statement that
        ' inserts a new row in the source table.
        Dim command As New OleDbCommand(insertSQL)

        ' Set the Connection to the new OleDbConnection.
        command.Connection = connection

        ' Open the connection and execute the insert command.
        Try
            connection.Open()
            command.ExecuteNonQuery()
        Catch ex As Exception
            Console.WriteLine(ex.Message)
        End Try
        ' The connection is automatically closed when the
        ' code exits the Using block.
    End Using
End Sub

Комментарии

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

При создании экземпляра OleDbConnection всем свойствам присваиваются их начальные значения. Список этих значений см. в конструкторе OleDbConnection.

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

Если соединение OleDbConnection выходит из области видимости, то его закрытие не производится. Поэтому необходимо явно закрыть соединение путем вызова Close метода Dispose или с помощью OleDbConnection объекта в операторе Using .

Примечание

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

Если неустранимый OleDbException (например, SQL Server уровень серьезности 20 или более) создается методомOleDbCommand, выполняющим , OleDbConnection может быть закрыт. Тем не менее, пользователь может опять открыть подключение и продолжить работу.

Приложению, создающее экземпляр OleDbConnection объекта, может потребоваться, чтобы все прямые и косвенные вызывающие объекты имели достаточные разрешения на код, устанавливая декларативные или императивные требования безопасности. OleDbConnection предъявляет требования к безопасности с помощью OleDbPermission объекта . Пользователи могут убедиться, что их код имеет достаточные разрешения, используя OleDbPermissionAttribute объект . Пользователи и администраторы также могут использовать Caspol.exe (средство политики безопасности доступа к коду) для изменения политики безопасности на уровне компьютера, пользователя и предприятия. Для получения дополнительной информации см. Code Access Security and ADO.NET.

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

Примечание

Объект OleDbConnection не поддерживает настройку или получение динамических свойств, относящихся к поставщику OLE DB. Поддерживаются только те свойства, которые можно передать в строке соединения поставщику OLE DB.

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

OleDbConnection()

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

OleDbConnection(String)

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

Свойства

CanCreateBatch

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

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

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

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

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

ConnectionTimeout

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

Container

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

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

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

DataSource

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

DbProviderFactory

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

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

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

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

Возвращает список обработчиков событий, которые прикреплены к этому объекту Component.

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

Получает имя поставщика OLE DB, указанное в выражении "Provider= " строки подключения.

ServerVersion

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

Site

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

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

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

Методы

BeginDbTransaction(IsolationLevel)

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

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

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

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

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

BeginTransaction(IsolationLevel)

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

BeginTransactionAsync(CancellationToken)

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

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

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

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

Осуществляет смену текущей базы данных для открытого соединения OleDbConnection.

ChangeDatabaseAsync(String, CancellationToken)

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

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

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

CloseAsync()

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

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

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

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

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

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)

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

Equals(Object)

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

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

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

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

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

(Унаследовано от MarshalByRefObject)
GetOleDbSchemaTable(Guid, Object[])

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

GetSchema()

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

GetSchema(String)

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

GetSchema(String, String[])

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

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()

Означает, что пул объектов OleDbConnection может быть освобожден, когда последнее основное подключение будет освобождено.

ResetState()

Обновляет свойство State объекта OleDbConnection.

ToString()

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

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

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

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

События

Disposed

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

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

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

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)

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

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