OdbcConnectionStringBuilder Classe

Definição

Fornece uma maneira simples de criar e gerenciar o conteúdo de cadeias de conexão usadas pela classe OdbcConnection.

public ref class OdbcConnectionStringBuilder sealed : System::Data::Common::DbConnectionStringBuilder
public sealed class OdbcConnectionStringBuilder : System.Data.Common.DbConnectionStringBuilder
[System.ComponentModel.TypeConverter(typeof(System.Data.Odbc.OdbcConnectionStringBuilder+OdbcConnectionStringBuilderConverter))]
public sealed class OdbcConnectionStringBuilder : System.Data.Common.DbConnectionStringBuilder
type OdbcConnectionStringBuilder = class
    inherit DbConnectionStringBuilder
[<System.ComponentModel.TypeConverter(typeof(System.Data.Odbc.OdbcConnectionStringBuilder+OdbcConnectionStringBuilderConverter))>]
type OdbcConnectionStringBuilder = class
    inherit DbConnectionStringBuilder
Public NotInheritable Class OdbcConnectionStringBuilder
Inherits DbConnectionStringBuilder
Herança
OdbcConnectionStringBuilder
Atributos

Exemplos

O aplicativo de console a seguir cria cadeias de conexão para vários bancos de dados ODBC. Primeiro, o exemplo cria uma cadeia de conexão para um banco de dados do Microsoft Access. Em seguida, ele cria um cadeia de conexão para um banco de dados IBM DB2. O exemplo também analisa um cadeia de conexão existente e demonstra várias maneiras de manipular o conteúdo do cadeia de conexão.

Observação

Este exemplo inclui uma senha para demonstrar como OdbcConnectionStringBuilder funciona com cadeias de conexão. Em seus aplicativos, recomendamos que você use a Autenticação do Windows. Se você precisar usar uma senha, não inclua uma senha embutida em código em seu aplicativo.

using System.Data.Odbc;

class Program
{
    static void Main()
    {
        OdbcConnectionStringBuilder builder =
            new OdbcConnectionStringBuilder();
        builder.Driver = "Microsoft Access Driver (*.mdb)";

        // Call the Add method to explicitly add key/value
        // pairs to the internal collection.
        builder.Add("Dbq", "C:\\info.mdb");
        builder.Add("Uid", "Admin");
        builder.Add("Pwd", "pass!word1");

        Console.WriteLine(builder.ConnectionString);
        Console.WriteLine();

        // Clear current values and reset known keys to their
        // default values.
        builder.Clear();

        // Pass the OdbcConnectionStringBuilder an existing
        // connection string, and you can retrieve and
        // modify any of the elements.
        builder.ConnectionString =
            "driver={IBM DB2 ODBC DRIVER};Database=SampleDB;" +
            "hostname=SampleServerName;port=SamplePortNum;" +
            "protocol=TCPIP;uid=Admin;pwd=pass!word1";

        Console.WriteLine("protocol = "
            + builder["protocol"].ToString());
        Console.WriteLine();

        // Modify existing items.
        builder["uid"] = "NewUser";
        builder["pwd"] = "Pass@word2";

        // Call the Remove method to remove items from
        // the collection of key/value pairs.
        builder.Remove("port");

        // Note that calling Remove on a nonexistent item does not
        // throw an exception.
        builder.Remove("BadItem");
        Console.WriteLine(builder.ConnectionString);
        Console.WriteLine();

        // Setting the indexer adds the associated value, if
        // necessary.
        builder["NewKey"] = "newValue";
        Console.WriteLine(builder.ConnectionString);

        Console.WriteLine("Press Enter to finish.");
        Console.ReadLine();
    }
}
Imports System.Data.Odbc    

Module Module1
  Sub Main()
    Dim builder As New OdbcConnectionStringBuilder()
    builder.Driver = "Microsoft Access Driver (*.mdb)"

    ' Call the Add method to explicitly add key/value
    ' pairs to the internal collection.
    builder.Add("Dbq", "C:\info.mdb")
    builder.Add("Uid", "Admin")
    builder.Add("Pwd", "pass!word1")

    Console.WriteLine(builder.ConnectionString)
    Console.WriteLine()

    ' Clear current values and reset known keys to their
    ' default values.
    builder.Clear()

    ' Pass the OdbcConnectionStringBuilder an existing 
    ' connection string, and you can retrieve and
    ' modify any of the elements.
    builder.ConnectionString = _
        "driver={IBM DB2 ODBC DRIVER};Database=SampleDB;" & _
        "hostname=SampleServerName;port=SamplePortNum;" & _
        "protocol=TCPIP;uid=Admin;pwd=pass!word1"

    Console.WriteLine("protocol = " & builder("protocol").ToString())
    Console.WriteLine()

    ' Modify existing items:
    builder("uid") = "NewUser"
    builder("pwd") = "Pass@word2"

    ' Call the Remove method to remove items from 
    ' the collection of key/value pairs.
    builder.Remove("port")

    ' Note that calling Remove on a nonexistent item does not
    ' throw an exception.
    builder.Remove("BadItem")
    Console.WriteLine(builder.ConnectionString)
    Console.WriteLine()

    ' The Item property is the default for the class, 
    ' and setting the Item property adds the value, if 
    ' necessary.
    builder("NewKey") = "newValue"
    Console.WriteLine(builder.ConnectionString)

    Console.WriteLine("Press Enter to finish.")
    Console.ReadLine()
  End Sub
End Module

Comentários

Os construtores de cadeia de conexão permitem que os desenvolvedores criem programaticamente cadeias de conexão sintaticamente corretas e analisem e recompilem cadeias de conexão existentes, usando propriedades e métodos da classe . O construtor cadeia de conexão fornece propriedades fortemente tipada correspondentes aos pares chave/valor conhecidos permitidos por conexões ODBC, e os desenvolvedores podem adicionar pares de chave/valor arbitrários para quaisquer outros valores de cadeia de conexão.

Os desenvolvedores que precisam criar cadeias de conexão como parte dos aplicativos podem usar a OdbcConnectionStringBuilder classe para criar e modificar cadeias de conexão. A classe também facilita o gerenciamento de cadeias de conexão armazenadas em um arquivo de configuração de aplicativo. OdbcConnectionStringBuilder executa verificações somente para o conjunto limitado de pares chave/valor conhecidos. Portanto, essa classe pode ser usada para criar cadeias de conexão inválidas. A tabela a seguir lista as chaves conhecidas específicas junto com suas propriedades correspondentes dentro da OdbcConnectionStringBuilder classe e seus valores padrão. Além desses valores específicos, os desenvolvedores podem adicionar pares chave/valor à coleção contida na OdbcConnectionStringBuilder instância.

Chave Propriedade Comentário Valor padrão
Driver Driver Os desenvolvedores não devem incluir as chaves ao redor do nome do driver quando definem a Driver propriedade. A OdbcConnectionStringBuilder instância adiciona chaves conforme necessário. cadeia de caracteres vazia
DSN Dsn cadeia de caracteres vazia

Se qualquer valor (diferente do Driver valor) no cadeia de conexão contiver um ponto e vírgula (;), o envolverá o OdbcConnectionStringBuilder valor com aspas no cadeia de conexão. Para evitar esse problema com o Driver valor que frequentemente contém um ponto e vírgula, a OdbcConnectionStringBuilder classe sempre envolve esse valor com chaves. A especificação ODBC indica que os valores de driver que contêm ponto e vírgula devem estar entre chaves e essa classe manipula isso para você.

A Item[] propriedade manipula tentativas de inserir código mal-intencionado. Por exemplo, o código a seguir, usando a propriedade padrão Item[] (o indexador, em C#) escapa corretamente do par chave/valor aninhado.

Dim builder As _
 New System.Data.Odbc.OdbcConnectionStringBuilder
' Take advantage of the Driver property.
builder.Driver = "SQL Server"
builder("Server") = "MyServer;NewValue=Bad"
Console.WriteLine(builder.ConnectionString)
System.Data.Odbc.OdbcConnectionStringBuilder builder =
  new System.Data.Odbc.OdbcConnectionStringBuilder();
// Take advantage of the Driver property.
builder.Driver = "SQL Server";
builder["Server"] = "MyServer;NewValue=Bad";
Console.WriteLine(builder.ConnectionString);

O resultado é o seguinte cadeia de conexão que manipula o valor inválido de maneira segura:

Driver={SQL Server};Server="MyServer;NewValue=Bad"

Construtores

OdbcConnectionStringBuilder()

Inicializa uma nova instância da classe OdbcConnectionStringBuilder.

OdbcConnectionStringBuilder(String)

Inicializa uma nova instância da classe OdbcConnectionStringBuilder. A cadeia de conexão fornecida oferece os dados para obter informações de conexão internas da instância.

Propriedades

BrowsableConnectionString

Obtém ou define um valor que indica se a propriedade ConnectionString é visível nos designers do Visual Studio.

(Herdado de DbConnectionStringBuilder)
ConnectionString

Obtém ou define a cadeia de conexão associada a DbConnectionStringBuilder.

(Herdado de DbConnectionStringBuilder)
Count

Obtém o número atual de chaves contidas na propriedade ConnectionString.

(Herdado de DbConnectionStringBuilder)
Driver

Obtém ou define o nome do driver ODBC associado à conexão.

Dsn

Obtém ou define o nome do DSN (nome da fonte de dados) associado à conexão.

IsFixedSize

Obtém um valor que indica se o DbConnectionStringBuilder tem um tamanho fixo.

(Herdado de DbConnectionStringBuilder)
IsReadOnly

Obtém um valor que indica se o DbConnectionStringBuilder é somente leitura.

(Herdado de DbConnectionStringBuilder)
Item[String]

Obtém ou define o valor associado à chave especificada. No C#, essa propriedade é o indexador.

Keys

Obtém um ICollection que contém as chaves no OdbcConnectionStringBuilder.

Values

Obtém um ICollection que contém os valores no DbConnectionStringBuilder.

(Herdado de DbConnectionStringBuilder)

Métodos

Add(String, Object)

Adiciona uma entrada com a chave e o valor especificados ao DbConnectionStringBuilder.

(Herdado de DbConnectionStringBuilder)
Clear()

Limpa o conteúdo da instância OdbcConnectionStringBuilder.

ClearPropertyDescriptors()

Limpa a coleção de objetos PropertyDescriptor no DbConnectionStringBuilder associado.

(Herdado de DbConnectionStringBuilder)
ContainsKey(String)

Determina se a OdbcConnectionStringBuilder contém uma chave específica.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
EquivalentTo(DbConnectionStringBuilder)

Compara as informações de conexão neste objeto DbConnectionStringBuilder com as informações de conexão no objeto fornecido.

(Herdado de DbConnectionStringBuilder)
GetHashCode()

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

(Herdado de Object)
GetProperties(Hashtable)

Preenche um Hashtable fornecido com informações sobre todas as propriedades deste DbConnectionStringBuilder.

(Herdado de DbConnectionStringBuilder)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
Remove(String)

Remove a entrada com a chave especificada da instância de OdbcConnectionStringBuilder.

ShouldSerialize(String)

Indica se a chave especificada existe nessa instância DbConnectionStringBuilder.

(Herdado de DbConnectionStringBuilder)
ToString()

Retorna a cadeia de conexão associada a esse DbConnectionStringBuilder.

(Herdado de DbConnectionStringBuilder)
TryGetValue(String, Object)

Recupera um valor correspondente para a chave fornecida deste OdbcConnectionStringBuilder.

Implantações explícitas de interface

ICollection.CopyTo(Array, Int32)

Copia os elementos do ICollection para um Array, começando em um determinado índice Array.

(Herdado de DbConnectionStringBuilder)
ICollection.IsSynchronized

Obtém um valor que indica se o acesso à ICollection é sincronizado (thread-safe).

(Herdado de DbConnectionStringBuilder)
ICollection.SyncRoot

Obtém um objeto que pode ser usado para sincronizar o acesso ao ICollection.

(Herdado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetAttributes()

Retorna uma coleção de atributos personalizados para esta instância de um componente.

(Herdado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetClassName()

Retorna o nome de classe desta instância de um componente.

(Herdado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetComponentName()

Retorna o nome desta instância de um componente.

(Herdado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetConverter()

Retorna um conversor de tipo para esta instância de um componente.

(Herdado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetDefaultEvent()

Retorna o evento padrão para esta instância de um componente.

(Herdado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetDefaultProperty()

Retorna a propriedade padrão para esta instância de um componente.

(Herdado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetEditor(Type)

Retorna um editor do tipo especificado para esta instância de um componente.

(Herdado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetEvents()

Retorna os eventos desta instância de um componente.

(Herdado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetEvents(Attribute[])

Retorna os eventos desta instância de um componente usando a matriz de atributos especificada como um filtro.

(Herdado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetProperties()

Retorna as propriedades desta instância de um componente.

(Herdado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetProperties(Attribute[])

Retorna as propriedades desta instância de um componente usando a matriz de atributos como um filtro.

(Herdado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor)

Retorna um objeto que contém a propriedade descrita pelo descritor de propriedade especificado.

(Herdado de DbConnectionStringBuilder)
IDictionary.Add(Object, Object)

Adiciona um elemento com a chave e o valor fornecidos ao objeto IDictionary.

(Herdado de DbConnectionStringBuilder)
IDictionary.Contains(Object)

Determina se o objeto IDictionary contém um elemento com a chave especificada.

(Herdado de DbConnectionStringBuilder)
IDictionary.GetEnumerator()

Retorna um objeto IDictionaryEnumerator para o objeto IDictionary.

(Herdado de DbConnectionStringBuilder)
IDictionary.Item[Object]

Obtém ou define o elemento com a chave especificada.

(Herdado de DbConnectionStringBuilder)
IDictionary.Remove(Object)

Remove o elemento com a chave especificada do objeto IDictionary.

(Herdado de DbConnectionStringBuilder)
IEnumerable.GetEnumerator()

Retorna um enumerador que itera em uma coleção.

(Herdado de DbConnectionStringBuilder)

Métodos de Extensão

Cast<TResult>(IEnumerable)

Converte os elementos de um IEnumerable para o tipo especificado.

OfType<TResult>(IEnumerable)

Filtra os elementos de um IEnumerable com base em um tipo especificado.

AsParallel(IEnumerable)

Habilita a paralelização de uma consulta.

AsQueryable(IEnumerable)

Converte um IEnumerable em um IQueryable.

Aplica-se a

Confira também