Partilhar via


OdbcConnection Classe

Definição

Representa uma conexão aberta com uma fonte de dados.

public ref class OdbcConnection sealed : System::Data::Common::DbConnection, ICloneable
public ref class OdbcConnection sealed : System::ComponentModel::Component, ICloneable, IDisposable, System::Data::IDbConnection
public sealed class OdbcConnection : System.Data.Common.DbConnection, ICloneable
public sealed class OdbcConnection : System.ComponentModel.Component, ICloneable, IDisposable, System.Data.IDbConnection
type OdbcConnection = class
    inherit DbConnection
    interface ICloneable
type OdbcConnection = class
    inherit Component
    interface ICloneable
    interface IDbConnection
    interface IDisposable
Public NotInheritable Class OdbcConnection
Inherits DbConnection
Implements ICloneable
Public NotInheritable Class OdbcConnection
Inherits Component
Implements ICloneable, IDbConnection, IDisposable
Herança
Herança
Implementações

Exemplos

O exemplo a seguir cria um OdbcCommand e um OdbcConnection. O OdbcConnection é aberto e definido como a propriedade Connection. O exemplo chama ExecuteNonQuerye fecha a conexão. Para fazer isso, o ExecuteNonQuery é passado uma cadeia de conexão e uma cadeia de caracteres de consulta que é uma instrução SQL INSERT.

static private void InsertRow(string connectionString)
{
    string queryString =
        "INSERT INTO Customers (CustomerID, CompanyName) Values('NWIND', 'Northwind Traders')";
    OdbcCommand command = new OdbcCommand(queryString);

    using (OdbcConnection connection = new OdbcConnection(connectionString))
    {
        command.Connection = connection;
        connection.Open();
        command.ExecuteNonQuery();

        // The connection is automatically closed at
        // the end of the Using block.
    }
}
Private Sub InsertRow(ByVal connectionString As String)

    Dim queryString As String = _
        "INSERT INTO Customers (CustomerID, CompanyName) Values('NWIND', 'Northwind Traders')"
    Dim command As New OdbcCommand(queryString)

    Using connection As New OdbcConnection(connectionString)
        command.Connection = connection
        connection.Open()
        command.ExecuteNonQuery()

        ' The connection is automatically closed at 
        ' the end of the Using block.
    End Using
End Sub

Comentários

Um objeto OdbcConnection representa uma conexão exclusiva com uma fonte de dados criada usando uma cadeia de conexão ou DSN (nome da fonte de dados ODBC). Com um sistema de banco de dados cliente/servidor, ele é equivalente a uma conexão de rede com o servidor. Dependendo da funcionalidade com suporte do driver ODBC nativo, alguns métodos ou propriedades de um objeto OdbcConnection podem não estar disponíveis.

O objeto OdbcConnection usa recursos nativos, como o ambiente ODBC e identificadores de conexão. Você sempre deve fechar explicitamente todos os objetos de OdbcConnection abertos chamando Close ou Descartar antes que o objeto OdbcConnection saia do escopo ou colocando a conexão dentro de uma instrução Using. Não fazer isso deixa a liberação desses recursos nativos para a coleta de lixo. Pode não liberá-los imediatamente. Isso, por sua vez, pode eventualmente fazer com que o driver subjacente fiquem sem recursos ou atinjam um limite máximo. Isso resultou em falhas intermitentes. Por exemplo, você pode experimentar erros de Maximum Connections -related enquanto muitas conexões estão esperando para serem excluídas pelo coletor de lixo. Fechar explicitamente as conexões permite um uso mais eficiente de recursos nativos, aprimorando a escalabilidade e melhorando o desempenho geral do aplicativo.

Nota

Para implantar aplicativos de alto desempenho, você deve usar o pool de conexões com frequência. No entanto, ao usar o Provedor de Dados do .NET Framework para ODBC, você não precisa habilitar o pool de conexões porque o provedor gerencia isso automaticamente.

Se um dos métodos Execute da classe OdbcCommand causar um OdbcException fatal (por exemplo, um nível de gravidade do SQL Server igual a 20 ou superior), o OdbcConnection poderá ser fechado. No entanto, o usuário pode reabrir a conexão e continuar.

Um aplicativo que cria uma instância do objeto OdbcConnection pode exigir que todos os chamadores diretos e indiretos tenham permissão suficiente para o código definindo demandas de segurança declarativas ou imperativas. OdbcConnection cria demandas de segurança usando o objeto OdbcPermission. Os usuários podem verificar se seu código tem permissões suficientes usando o objeto OdbcPermissionAttribute. Usuários e administradores também podem usar a Ferramenta de Política de Segurança de Acesso ao Código (Caspol.exe) para modificar a política de segurança nos níveis de computador, usuário e empresa. Para obter mais informações, consulte Segurança de Acesso ao Código e ADO.NET.

Para obter mais informações sobre como lidar com avisos e mensagens informativas da fonte de dados, consulte Eventos de Conexão.

Construtores

OdbcConnection()

Inicializa uma nova instância da classe OdbcConnection.

OdbcConnection(String)

Inicializa uma nova instância da classe OdbcConnection com a cadeia de conexão especificada.

Propriedades

CanCreateBatch

Obtém um valor que indica se essa instância DbConnection dá suporte à classe DbBatch.

(Herdado de DbConnection)
CanRaiseEvents

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

(Herdado de Component)
ConnectionString

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

ConnectionTimeout

Obtém ou define o tempo de espera (em segundos) ao tentar estabelecer uma conexão antes de encerrar a tentativa e gerar um erro.

Container

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

(Herdado de Component)
Database

Obtém o nome do banco de dados atual ou do banco de dados a ser usado depois que uma conexão é aberta.

DataSource

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

DbProviderFactory

Obtém o DbProviderFactory deste DbConnection.

(Herdado de DbConnection)
DesignMode

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

(Herdado de Component)
Driver

Obtém o nome do driver ODBC especificado para a conexão atual.

Events

Obtém a lista de manipuladores de eventos anexados a este Component.

(Herdado de Component)
ServerVersion

Obtém uma cadeia de caracteres que contém a versão do servidor ao qual o cliente está conectado.

Site

Obtém ou define o ISite do Component.

(Herdado de Component)
State

Obtém o estado atual da conexão.

Métodos

BeginDbTransaction(IsolationLevel)

Quando substituído em uma classe derivada, inicia uma transação de banco de dados.

(Herdado de DbConnection)
BeginDbTransactionAsync(IsolationLevel, CancellationToken)

Inicia de forma assíncrona uma transação de banco de dados.

(Herdado de DbConnection)
BeginTransaction()

Inicia uma transação na fonte de dados.

BeginTransaction(IsolationLevel)

Inicia uma transação na fonte de dados com o valor de IsolationLevel especificado.

BeginTransactionAsync(CancellationToken)

Inicia de forma assíncrona uma transação de banco de dados.

(Herdado de DbConnection)
BeginTransactionAsync(IsolationLevel, CancellationToken)

Inicia de forma assíncrona uma transação de banco de dados.

(Herdado de DbConnection)
ChangeDatabase(String)

Altera o banco de dados atual associado a um OdbcConnectionaberto.

ChangeDatabaseAsync(String, CancellationToken)

Altera de forma assíncrona o banco de dados atual para uma conexão aberta.

(Herdado de DbConnection)
Close()

Fecha a conexão com a fonte de dados.

CloseAsync()

Fecha assíncronamente a conexão com o banco de dados.

(Herdado de DbConnection)
CreateBatch()

Retorna uma nova instância da classe do provedor que implementa a classe DbBatch.

(Herdado de DbConnection)
CreateCommand()

Cria e retorna um objeto OdbcCommand associado ao OdbcConnection.

CreateDbBatch()

Quando substituído em uma classe derivada, retorna uma nova instância da classe do provedor que implementa a classe DbBatch.

(Herdado de DbConnection)
CreateDbCommand()

Quando substituído em uma classe derivada, cria e retorna um objeto DbCommand associado à conexão atual.

(Herdado de DbConnection)
CreateObjRef(Type)

Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto.

(Herdado de MarshalByRefObject)
Dispose()

Executa tarefas definidas pelo aplicativo associadas à liberação, liberação ou redefinição de recursos não gerenciados.

(Herdado de DbConnection)
Dispose()

Libera todos os recursos usados pelo Component.

(Herdado de Component)
Dispose(Boolean)

Libera os recursos não gerenciados usados pelo DbConnection e, opcionalmente, libera os recursos gerenciados.

(Herdado de DbConnection)
Dispose(Boolean)

Libera os recursos não gerenciados usados pelo Component e, opcionalmente, libera os recursos gerenciados.

(Herdado de Component)
DisposeAsync()

Mergulha de forma assíncrona o objeto de conexão.

(Herdado de DbConnection)
EnlistDistributedTransaction(ITransaction)

Inscrição na transação especificada como uma transação distribuída.

EnlistTransaction(Transaction)

Inscrição na transação especificada como uma transação distribuída.

EnlistTransaction(Transaction)

Inscrição na transação especificada.

(Herdado de DbConnection)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetLifetimeService()
Obsoleto.

Recupera o objeto de serviço de tempo de vida atual que controla a política de tempo de vida para essa instância.

(Herdado de MarshalByRefObject)
GetSchema()

Retorna informações de esquema para a fonte de dados deste OdbcConnection.

GetSchema(String)

Retorna informações de esquema para a fonte de dados deste OdbcConnection usando o nome especificado para o nome do esquema.

GetSchema(String, String[])

Retorna informações de esquema para a fonte de dados deste OdbcConnection usando a cadeia de caracteres especificada para o nome do esquema e a matriz de cadeia de caracteres especificada para os valores de restrição.

GetSchemaAsync(CancellationToken)

Esta é uma versão assíncrona do GetSchema(). Os provedores devem substituir com uma implementação apropriada. O cancellationToken pode, opcionalmente, ser honrado. A implementação padrão invoca a chamada síncrona GetSchema() e retorna uma tarefa concluída. A implementação padrão retornará uma tarefa cancelada se aprovada uma cancellationTokenjá cancelada. As exceções geradas por GetSchema() serão comunicadas por meio da propriedade de Exceção de Tarefa retornada.

(Herdado de DbConnection)
GetSchemaAsync(String, CancellationToken)

Esta é a versão assíncrona do GetSchema(String). Os provedores devem substituir com uma implementação apropriada. O cancellationToken pode, opcionalmente, ser honrado. A implementação padrão invoca a chamada síncrona GetSchema(String) e retorna uma tarefa concluída. A implementação padrão retornará uma tarefa cancelada se aprovada uma cancellationTokenjá cancelada. As exceções geradas por GetSchema(String) serão comunicadas por meio da propriedade de Exceção de Tarefa retornada.

(Herdado de DbConnection)
GetSchemaAsync(String, String[], CancellationToken)

Esta é a versão assíncrona do GetSchema(String, String[]). Os provedores devem substituir com uma implementação apropriada. O cancellationToken pode, opcionalmente, ser honrado. A implementação padrão invoca a chamada síncrona GetSchema(String, String[]) e retorna uma tarefa concluída. A implementação padrão retornará uma tarefa cancelada se aprovada uma cancellationTokenjá cancelada. As exceções geradas por GetSchema(String, String[]) serão comunicadas por meio da propriedade de Exceção de Tarefa retornada.

(Herdado de DbConnection)
GetService(Type)

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

(Herdado de Component)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
InitializeLifetimeService()
Obsoleto.

Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida dessa instância.

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto MarshalByRefObject atual.

(Herdado de MarshalByRefObject)
OnStateChange(StateChangeEventArgs)

Gera o evento StateChange.

(Herdado de DbConnection)
Open()

Abre uma conexão com uma fonte de dados com as configurações de propriedade especificadas pelo ConnectionString.

OpenAsync()

Uma versão assíncrona do Open(), que abre uma conexão de banco de dados com as configurações especificadas pelo ConnectionString. Esse método invoca o método virtual OpenAsync(CancellationToken) com CancellationToken.None.

(Herdado de DbConnection)
OpenAsync(CancellationToken)

Esta é a versão assíncrona do Open(). Os provedores devem substituir com uma implementação apropriada. Opcionalmente, o token de cancelamento pode ser respeitado.

A implementação padrão invoca a chamada síncrona Open() e retorna uma tarefa concluída. A implementação padrão retornará uma tarefa cancelada se aprovada um cancelamento já canceladoToken. As exceções geradas pelo Open serão comunicadas por meio da propriedade de Exceção de Tarefa retornada.

Não invoque outros métodos e propriedades do objeto DbConnection até que a Tarefa retornada seja concluída.

(Herdado de DbConnection)
ReleaseObjectPool()

Indica que o identificador de ambiente do Gerenciador de Driver ODBC pode ser liberado quando a última conexão subjacente é lançada.

ToString()

Retorna um String que contém o nome do Component, se houver. Esse método não deve ser substituído.

(Herdado de Component)

Eventos

Disposed

Ocorre quando o componente é descartado por uma chamada para o método Dispose().

(Herdado de Component)
InfoMessage

Ocorre quando o driver ODBC envia um aviso ou uma mensagem informativa.

StateChange

Ocorre quando o estado da conexão é alterado.

StateChange

Ocorre quando o estado da conexão é alterado.

(Herdado de DbConnection)

Implantações explícitas de interface

ICloneable.Clone()

Para obter uma descrição desse membro, consulte Clone().

IDbConnection.BeginTransaction()

Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código.

Inicia uma transação de banco de dados.

IDbConnection.BeginTransaction()

Inicia uma transação de banco de dados.

(Herdado de DbConnection)
IDbConnection.BeginTransaction(IsolationLevel)

Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código.

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

IDbConnection.BeginTransaction(IsolationLevel)

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

(Herdado de DbConnection)
IDbConnection.CreateCommand()

Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código.

Cria e retorna um objeto de comando associado à conexão.

IDbConnection.CreateCommand()

Cria e retorna um objeto DbCommand associado à conexão atual.

(Herdado de DbConnection)

Métodos de Extensão

ConfigureAwait(IAsyncDisposable, Boolean)

Configura como as esperas nas tarefas retornadas de um descartável assíncrono serão executadas.

Aplica-se a

Confira também