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


OleDbConnection Класс

Определение

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

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

Примеры

В следующем примере создается OleDbCommand и OleDbConnection. 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 (средство политики безопасности доступа к коду) для изменения политики безопасности на компьютере, пользователе и корпоративном уровнях. Дополнительные сведения см. в разделе Безопасность доступа к коду и 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

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

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

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

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

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

ResetState()

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

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)

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

ConfigureAwait(IAsyncDisposable, Boolean)

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

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

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