OleDbConnection Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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 |
| 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) |