OleDbConnection Класс

Определение

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

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

Примеры

В следующем примере создается OleDbCommand и OleDbConnection.The following example creates an OleDbCommand and an OleDbConnection. Соединение OleDbConnection открыто и задано в свойстве Connection объекта OleDbCommand.The OleDbConnection is opened and set as the Connection for the OleDbCommand. После этого в примере вызывается метод ExecuteNonQuery, после чего соединение закрывается.The example then calls ExecuteNonQuery and closes the connection. Для этого ExecuteNonQuery передается строка подключения и строка запроса, которая является инструкцией SQL INSERT.To accomplish this, ExecuteNonQuery is passed a connection string and a query string that is an SQL INSERT statement.

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

При создании экземпляра OleDbConnection всем свойствам присваиваются их начальные значения.When you create an instance of OleDbConnection, all properties are set to their initial values. Список этих значений см. в конструкторе OleDbConnection.For a list of these values, see the OleDbConnection constructor.

Можно открыть более одного DataReader на одном OleDbConnection.You can open more than one DataReader on a single OleDbConnection. Если используемый поставщик OLE DB не поддерживает более одного объекта DataReader в одном соединении, поставщик неявно открывает дополнительное соединение для каждого из них.If the OLE DB provider you use does not support more than one DataReader on a single connection, the provider implicitly opens an additional connection for each.

Если соединение OleDbConnection выходит из области видимости, то его закрытие не производится.If the OleDbConnection goes out of scope, it is not closed. Поэтому необходимо явно закрыть соединение, вызвав Close или Disposeлибо используя объект OleDbConnection в инструкции Using.Therefore, you must explicitly close the connection by calling Close or Dispose, or by using the OleDbConnection object within a Using statement.

Примечание

Для развертывания высокопроизводительных приложений необходимо использовать пулы соединений.To deploy high-performance applications, you must use connection pooling. При использовании .NET Framework поставщика данных для OLE DB не нужно включать пулы соединений, так как поставщик управляет этим автоматически.When you use the .NET Framework Data Provider for OLE DB, you do not have to enable connection pooling because the provider manages this automatically. Дополнительные сведения об использовании пулов соединений с поставщиком данных .NET Framework для OLE DB см. в разделе OLE DB, ODBC и Oracle.For more information about how to use connection pooling with the .NET Framework Data Provider for OLE DB, see OLE DB, ODBC, and Oracle Connection Pooling.

Если Неустранимая OleDbException (например, уровень серьезности SQL Server, равный 20 или больше), создается методом, выполняющим OleDbCommand, OleDbConnection может быть закрыт.If a fatal OleDbException (for example, a SQL Server severity level of 20 or greater) is generated by the method executing an OleDbCommand, the OleDbConnection might be closed. Тем не менее, пользователь может опять открыть подключение и продолжить работу.However, the user can reopen the connection and continue.

Приложение, которое создает экземпляр объекта OleDbConnection, может потребовать, чтобы все прямые и косвенные вызывающие объекты имели достаточные разрешения на доступ к коду, установив декларативные или императивные требования к безопасности.An application that creates an instance of the OleDbConnection object can require all direct and indirect callers to have sufficient permission to the code by setting declarative or imperative security demands. OleDbConnection выполняет требования безопасности с помощью объекта OleDbPermission.OleDbConnection makes security demands using the OleDbPermission object. Пользователи могут убедиться, что их код имеет достаточные разрешения, используя объект OleDbPermissionAttribute.Users can verify that their code has sufficient permissions by using the OleDbPermissionAttribute object. Пользователи и администраторы также могут использовать средство Caspol. exe (политика управления доступом для кода) для изменения политики безопасности на уровне компьютера, пользователя и предприятия.Users and administrators can also use the Caspol.exe (Code Access Security Policy Tool) 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 server, see Connection Events.

Примечание

Объект OleDbConnection не поддерживает настройку или получение динамических свойств, относящихся к поставщику OLE DB.The OleDbConnection object does not support setting or retrieving dynamic properties specific to an OLE DB provider. Поддерживаются только те свойства, которые можно передать в строке соединения поставщику OLE DB.Only properties that can be passed in the connection string for the OLE DB provider are supported.

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

OleDbConnection()

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

OleDbConnection(String)

Инициализирует новый экземпляр класса OleDbConnection с заданной строкой подключения.Initializes a new instance of the OleDbConnection 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 database.

ConnectionTimeout

Возвращает значение времени ожидания (в секундах) при попытке установления подключения, по истечении которого процедура завершается и генерируется ошибка.Gets 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)
Events

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

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

Получает имя поставщика OLE DB, указанное в выражении "Provider= " строки подключения.Gets the name of the OLE DB provider specified in the "Provider= " clause of the connection string.

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

Запускает транзакцию базы данных с текущим значением IsolationLevel.Starts a database transaction with the current IsolationLevel value.

BeginTransaction(IsolationLevel)

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

BeginTransactionAsync(CancellationToken)

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

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

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

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

Осуществляет смену текущей базы данных для открытого соединения OleDbConnection.Changes the current database for an open OleDbConnection.

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

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

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

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

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

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)
GetOleDbSchemaTable(Guid, Object[])

Возвращает сведения схемы из источника данных, как указано в GUID, и после применения указанных ограничений.Returns schema information from a data source as indicated by a GUID, and after it applies the specified restrictions.

GetSchema()

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

GetSchema(String)

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

GetSchema(String, String[])

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

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

Означает, что пул объектов OleDbConnection может быть освобожден, когда последнее основное подключение будет освобождено.Indicates that the OleDbConnection object pool can be released when the last underlying connection is released.

ResetState()

Обновляет свойство State объекта OleDbConnection.Updates the State property of the OleDbConnection 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

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

StateChange

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

ICloneable.Clone()

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

IDbConnection.BeginTransaction()

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

IDbConnection.BeginTransaction(IsolationLevel)

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

IDbConnection.CreateCommand()

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

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

Дополнительно