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
OdbcConnection
Herança
Herança
Implementações

Exemplos

O exemplo a seguir cria um OdbcCommand e um OdbcConnection. O OdbcConnection é aberto e definido como a Connection propriedade . Em seguida, 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 OdbcConnection objeto 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 OdbcConnection objeto podem não estar disponíveis.

O OdbcConnection objeto usa recursos nativos, como o ambiente ODBC e identificadores de conexão. Você sempre deve fechar explicitamente todos os objetos abertos OdbcConnection chamando Close ou Descartar antes que o OdbcConnection objeto saia do escopo ou colocando a conexão dentro de uma Using instrução . 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 enfrentar Maximum Connections erros relacionados a , 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, aumentando a escalabilidade e melhorando o desempenho geral do aplicativo.

Observação

Para implantar aplicativos de alto desempenho, é necessário usar o pool de conexões com frequência. No entanto, ao usar o provedor de dados .NET Framework para ODBC, você não precisa habilitar o pool de conexões porque o provedor gerencia isso automaticamente.

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

Um aplicativo que cria uma instância do OdbcConnection objeto 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 OdbcPermission objeto . Os usuários podem verificar se seu código tem permissões suficientes usando o OdbcPermissionAttribute objeto . 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 do computador, do usuário e da empresa. Para obter mais informações, consulte Segurança de acesso do 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 esta instância DbConnection é compatível com a classe DbBatch.

(Herdado de DbConnection)
CanRaiseEvents

Obtém um valor que indica se o componente pode acionar 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) durante a tentativa de estabelecimento da conexão antes que a tentativa seja terminada e um erro seja gerado.

Container

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

(Herdado de Component)
Database

Obtém o nome do banco de dados atual ou o banco de dados a ser usado após uma conexão ser aberta.

DataSource

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

DbProviderFactory

Obtém o DbProviderFactory para este DbConnection.

(Herdado de DbConnection)
DesignMode

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

(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 que estão 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 maneira 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 IsolationLevel especificado.

BeginTransactionAsync(CancellationToken)

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

(Herdado de DbConnection)
BeginTransactionAsync(IsolationLevel, CancellationToken)

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

(Herdado de DbConnection)
ChangeDatabase(String)

Altera o banco de dados atual associado a um OdbcConnection aberto.

ChangeDatabaseAsync(String, CancellationToken)

Troca de forma assíncrona o banco de dados atual por uma conexão aberta.

(Herdado de DbConnection)
Close()

Fecha a conexão com a fonte de dados.

CloseAsync()

Fecha de maneira assíncrona 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 DbBatch classe .

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

Realiza tarefas definidas pelo aplicativo associadas à 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()

Descarta de forma assíncrona o objeto da conexão.

(Herdado de DbConnection)
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.

EnlistTransaction(Transaction)

Inscreve-se 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 ciclo de vida para esta instância.

(Herdado de MarshalByRefObject)
GetSchema()

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

GetSchema()

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

(Herdado de DbConnection)
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)

Retorna informações de esquema para a fonte de dados deste DbConnection usando a cadeia de caracteres especificada para o nome do esquema.

(Herdado de DbConnection)
GetSchema(String, String[])

Retorna informações de esquema para a fonte de dados desse 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.

GetSchema(String, String[])

Retorna informações de esquema para a fonte de dados desse DbConnection 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.

(Herdado de DbConnection)
GetSchemaAsync(CancellationToken)

Essa é uma versão assíncrona de GetSchema(). Provedores devem substituir com uma implementação apropriada. Opcionalmente, o cancellationToken pode ser respeitado. A implementação padrão invoca a chamada GetSchema() síncrona e retorna uma tarefa concluída. A implementação padrão retornará uma tarefa cancelada se já tiver passado um cancellationToken cancelado. Exceções geradas por GetSchema() serão comunicadas por meio da propriedade Exceção de Tarefa retornada.

(Herdado de DbConnection)
GetSchemaAsync(String, CancellationToken)

Essa é a versão assíncrona de GetSchema(String). Provedores devem substituir com uma implementação apropriada. Opcionalmente, o cancellationToken pode ser respeitado. A implementação padrão invoca a chamada GetSchema(String) síncrona e retorna uma tarefa concluída. A implementação padrão retornará uma tarefa cancelada se já tiver passado um cancellationToken cancelado. Exceções geradas por GetSchema(String) serão comunicadas por meio da propriedade Exceção de Tarefa retornada.

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

Essa é a versão assíncrona de GetSchema(String, String[]). Provedores devem substituir com uma implementação apropriada. Opcionalmente, o cancellationToken pode ser respeitado. A implementação padrão invoca a chamada GetSchema(String, String[]) síncrona e retorna uma tarefa concluída. A implementação padrão retornará uma tarefa cancelada se já tiver passado um cancellationToken cancelado. Exceções geradas por GetSchema(String, String[]) serão comunicadas por meio da propriedade Exceção de Tarefa retornada.

(Herdado de DbConnection)
GetService(Type)

Retorna 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()
Obsoleto.

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

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto MarshalByRefObject atual.

(Herdado de MarshalByRefObject)
OnStateChange(StateChangeEventArgs)

Aciona 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 de 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)

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

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

Não invoque outros métodos e propriedades do objeto DbConnection até a Tarefa retornada ser 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 é liberada.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)
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 é disposto por uma chamada ao 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, confira 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 com a conexão.

IDbConnection.CreateCommand()

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

(Herdado de DbConnection)

Aplica-se a

Confira também