OleDbConnection Classe

Definição

Representa uma ligação aberta a uma fonte de dados.

public ref class OleDbConnection sealed : System::ComponentModel::Component, ICloneable, IDisposable, System::Data::IDbConnection
public ref class OleDbConnection sealed : 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, IDisposable
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 Component
Implements ICloneable, IDbConnection, IDisposable
Public NotInheritable Class OleDbConnection
Inherits DbConnection
Implements ICloneable, IDisposable
Herança
Herança
Implementações

Exemplos

O exemplo seguinte cria um OleDbCommand e um OleDbConnection. O OleDbConnection é aberto e definido como o Connection para o OleDbCommand. O exemplo então chama ExecuteNonQuery e fecha a ligação. Para isso, ExecuteNonQuery recebe uma cadeia de ligação e uma string de consulta que é uma instrução 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

Observações

Um OleDbConnection objeto representa uma ligação única a uma fonte de dados. Num sistema de base de dados cliente/servidor, é equivalente a uma ligação de rede ao servidor. Dependendo da funcionalidade suportada pelo fornecedor nativo de OLE DB, alguns métodos ou propriedades de um OleDbConnection objeto podem não estar disponíveis.

Quando cria uma instância de OleDbConnection, todas as propriedades são definidas para os seus valores iniciais. Para obter uma lista desses valores, consulte o OleDbConnection construtor.

Pode abrir mais do que um DataReader num único OleDbConnection. Se o fornecedor OLE DB que utiliza não suportar mais do que um DataReader numa única ligação, o fornecedor abre implicitamente uma ligação adicional para cada uma.

Se sair OleDbConnection do âmbito, não está fechado. Portanto, deve fechar explicitamente a ligação chamando Close ou Dispose, ou usando o OleDbConnection objeto dentro de uma Using instrução.

Note

Para implementar aplicações de alto desempenho, deve usar pooling de ligações. Quando utiliza o .NET Framework Data Provider para OLE DB, não precisa de ativar o pooling de conexões porque o fornecedor gere isto automaticamente. Para mais informações sobre como usar o pool de ligações com o Data Provider do .NET Framework para OLE DB, consulte OLE DB, ODBC e Oracle Connection Pooling.

Se um OleDbException fatal (por exemplo, um nível de gravidade SQL Server de 20 ou superior) for gerado pelo método que executa um OleDbCommand, o OleDbConnection pode estar fechado. No entanto, o utilizador pode reabrir a ligação e continuar.

Uma aplicação que cria uma instância do OleDbConnection objeto pode exigir que todos os chamadores diretos e indiretos tenham permissão suficiente para o código, definindo exigências de segurança declarativas ou imperativas. OleDbConnection faz exigências de segurança usando o OleDbPermission objeto. Os utilizadores podem verificar se o seu código tem permissões suficientes usando o OleDbPermissionAttribute objeto. Utilizadores e administradores também podem usar o Caspol.exe (Ferramenta de Política de Segurança de Acesso ao Código) para modificar políticas de segurança ao nível do computador, utilizador e empresa. Para obter mais informações, consulte Segurança de acesso ao código e ADO.NET.

Para mais informações sobre o tratamento de mensagens de aviso e informativas do servidor de dados, consulte Eventos de Ligação.

Note

O OleDbConnection objeto não suporta a definição ou recuperação de propriedades dinâmicas específicas de um fornecedor OLE DB. Somente as propriedades que podem ser passadas na cadeia de conexão para o provedor OLE DB são suportadas.

Construtores

Name Description
OleDbConnection()

Inicializa uma nova instância da OleDbConnection classe.

OleDbConnection(String)

Inicializa uma nova instância da classe OleDbConnection com a cadeia de ligação especificada.

Propriedades

Name Description
CanRaiseEvents

Obtém um valor que indica se o componente pode gerar um evento.

(Herdado de Component)
ConnectionString

Obtém ou define a cadeia usada para abrir uma base de dados.

ConnectionTimeout

Obtém o tempo de espera (em segundos) enquanto tentam estabelecer uma ligação antes de terminar a tentativa e gerar um erro.

Container

Obtém o IContainer que contém o Component.

(Herdado de Component)
Database

Obtém o nome da base de dados atual ou da base de dados a ser usada após a abertura de uma ligação.

DataSource

Obtém o nome do servidor ou do ficheiro da fonte de dados.

DbProviderFactory

Recebe o DbProviderFactory por isto DbConnection.

(Herdado de DbConnection)
DesignMode

Obtém um valor que indica se o Component está atualmente em modo de design.

(Herdado de Component)
Events

Obtém a lista de gestores de eventos que estão ligados a isto Component.

(Herdado de Component)
Provider

Recebe o nome do fornecedor OLE DB especificado na cláusula "Provider= " da cadeia de ligação.

ServerVersion

Obtém uma string que contém a versão do servidor a que o cliente está ligado.

Site

Obtém ou define o ISite do Component.

(Herdado de Component)
State

Obtém o estado atual da ligação.

Métodos

Name Description
BeginDbTransaction(IsolationLevel)

Quando é sobreposto numa classe derivada, inicia uma transação de base de dados.

(Herdado de DbConnection)
BeginTransaction()

Inicia uma transação na base de dados com o valor atual IsolationLevel .

BeginTransaction(IsolationLevel)

Inicia uma transação de base de dados com o nível de isolamento especificado.

ChangeDatabase(String)

Altera a base de dados atual para um .OleDbConnection

Close()

Fecha a ligação à fonte de dados.

CreateCommand()

Cria e devolve um OleDbCommand objeto associado ao OleDbConnection.

CreateDbCommand()

Quando sobreposto numa classe derivada, cria e devolve um DbCommand objeto associado à ligação atual.

(Herdado de DbConnection)
CreateObjRef(Type)

Cria um objeto que contém toda a informação relevante necessária para gerar um proxy usado para comunicar com um objeto remoto.

(Herdado de MarshalByRefObject)
Dispose()

Liberta todos os recursos utilizados pelo Component.

(Herdado de Component)
Dispose(Boolean)

Liberta os recursos não geridos usados pelo Component e opcionalmente liberta os recursos geridos.

(Herdado de Component)
EnlistDistributedTransaction(ITransaction)

Inscreve-se na transação especificada como uma transação distribuída.

EnlistTransaction(Transaction)

Inscreve-se na transação especificada como uma transação distribuída.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetLifetimeService()

Recupera o objeto de serviço de tempo de vida atual que controla a política de vida útil neste caso.

(Herdado de MarshalByRefObject)
GetOleDbSchemaTable(Guid, Object[])

Devolve informação do esquema de uma fonte de dados indicada por um GUID, e após aplicar as restrições especificadas.

GetSchema()

Devolve informação de esquema para a fonte de dados deste OleDbConnection.

GetSchema(String, String[])

Devolve a informação do esquema para a fonte de dados desta OleDbConnection usando a cadeia especificada para o nome do esquema e o array de cadeias especificado para os valores de restrição.

GetSchema(String)

Devolve a informação do esquema para a fonte de dados desta OleDbConnection usando a cadeia especificada para o nome do esquema.

GetService(Type)

Devolve um objeto que representa um serviço fornecido pelo Component ou pelo seu Container.

(Herdado de Component)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
InitializeLifetimeService()

Obtém-se um objeto de serviço vitalício para controlar a apólice vitalícia neste caso.

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto atual MarshalByRefObject .

(Herdado de MarshalByRefObject)
OnStateChange(StateChangeEventArgs)

Eleva o StateChange evento.

(Herdado de DbConnection)
Open()

Abre uma ligação à base de dados com as definições de propriedade especificadas pelo ConnectionString.

OpenAsync()

Uma versão assíncrona de Open(), que abre uma ligação à base de dados com as definições especificadas pelo ConnectionString. Este método invoca o método OpenAsync(CancellationToken) virtual com CancellationToken.None.

(Herdado de DbConnection)
OpenAsync(CancellationToken)

Esta é a versão assíncrona de Open(). Os prestadores devem sobrepor-se com uma implementação adequada. O token de cancelamento pode ser opcionalmente aceito.

A implementação padrão invoca a chamada síncrona Open() e devolve uma tarefa concluída. A implementação padrão devolverá uma tarefa cancelada se for passada uma cancellationToken já cancelada. As exceções lançadas pelo Open serão comunicadas através da propriedade de Exceção de Tarefa devolvida.

Não invoque outros métodos e propriedades do DbConnection objeto até que a tarefa devolvida esteja concluída.

(Herdado de DbConnection)
ReleaseObjectPool()

Indica que o OleDbConnection object pool pode ser libertado quando a última ligação subjacente for libertada.

ResetState()

Atualiza a State propriedade do OleDbConnection objeto.

ToString()

Devolve a String contendo o nome do Component, se existir. Este método não deve ser ultrapassado.

(Herdado de Component)

evento

Name Description
Disposed

Ocorre quando o componente é eliminado por uma chamada ao Dispose() método.

(Herdado de Component)
InfoMessage

Ocorre quando o prestador envia um aviso ou uma mensagem informativa.

StateChange

Ocorre quando o estado da ligação muda.

StateChange

Ocorre quando o estado da ligação muda.

(Herdado de DbConnection)

Implementações de Interface Explícita

Name Description
ICloneable.Clone()

Para uma descrição deste elemento, veja Clone().

IDbConnection.BeginTransaction()

Esta API suporta a infraestrutura de produtos e não é pressuposta para ser utilizada diretamente a partir do seu código.

Inicia uma transação de base de dados.

IDbConnection.BeginTransaction()

Inicia uma transação de base de dados.

(Herdado de DbConnection)
IDbConnection.BeginTransaction(IsolationLevel)

Esta API suporta a infraestrutura de produtos e não é pressuposta para ser utilizada diretamente a partir do seu código.

Inicia uma transação de base de dados com o nível de isolamento especificado.

IDbConnection.BeginTransaction(IsolationLevel)

Inicia uma transação de base de dados com o nível de isolamento especificado.

(Herdado de DbConnection)
IDbConnection.CreateCommand()

Esta API suporta a infraestrutura de produtos e não é pressuposta para ser utilizada diretamente a partir do seu código.

Cria e devolve um objeto de comando associado à ligação.

IDbConnection.CreateCommand()

Cria e devolve um DbCommand objeto associado à ligação atual.

(Herdado de DbConnection)

Aplica-se a

Ver também