OdbcConnectionStringBuilder Classe

Definição

Fornece uma forma simples de criar e gerir o conteúdo das strings de ligação usadas pela OdbcConnection classe.

public ref class OdbcConnectionStringBuilder sealed : System::Data::Common::DbConnectionStringBuilder
[System.ComponentModel.TypeConverter(typeof(System.Data.Odbc.OdbcConnectionStringBuilder+OdbcConnectionStringBuilderConverter))]
public sealed class OdbcConnectionStringBuilder : System.Data.Common.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

A aplicação de consola seguinte constrói strings de ligação para várias bases de dados ODBC. Primeiro, o exemplo cria uma cadeia de ligação para uma base de dados do Microsoft Access. Depois, cria uma cadeia de ligação para uma base de dados IBM DB2. O exemplo também analisa uma cadeia de ligação existente e demonstra várias formas de manipular o conteúdo da cadeia de ligação.

using System.Data.Odbc;

class Program
{
    static void Main()
    {
        OdbcConnectionStringBuilder builder = new()
            {
                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");

        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";

        Console.WriteLine($"protocol = {builder["protocol"].ToString()}");
        Console.WriteLine();

        // 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);
    }
}
Imports System.Data.Odbc

Module Module1
    Sub Main()
        Dim builder As New OdbcConnectionStringBuilder With {
            .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")

        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"

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

        ' 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

Observações

Os construtores de cadeia de ligação permitem aos programadores criar programaticamente cadeias de ligação sintaticamente corretas, e analisar e reconstruir cadeias de ligação existentes, usando propriedades e métodos da classe. O cadeia de ligação builder fornece propriedades fortemente tipadas correspondentes aos pares chave/valor conhecidos permitidos pelas ligações ODBC, e os programadores podem adicionar pares de chave/valor arbitrários para quaisquer outros valores de cadeia de ligação.

Os programadores que precisam de criar strings de ligação como parte de aplicações podem usar a OdbcConnectionStringBuilder classe para construir e modificar strings de ligação. A classe também facilita a gestão de cadeias de ligação armazenadas num ficheiro de configuração de aplicação. OdbcConnectionStringBuilder realiza verificações apenas para o conjunto limitado de pares chave/valor conhecidos. Portanto, esta classe pode ser usada para criar cadeias de ligação inválidas. A tabela seguinte lista as chaves específicas conhecidas juntamente com as respetivas propriedades dentro da OdbcConnectionStringBuilder classe e os seus valores padrão. Para além destes valores específicos, os programadores podem adicionar quaisquer pares chave/valor à coleção contida na OdbcConnectionStringBuilder instância.

Chave Property Comment Valor predefinido
Driver Driver Os promotores não devem incluir as chaves à volta do nome do condutor ao definir a Driver propriedade. A OdbcConnectionStringBuilder instância adiciona aparelhos ortopédicos conforme necessário. Cadeia vazia
DSN Dsn Cadeia vazia

Se qualquer valor (diferente do Driver) dentro do cadeia de ligação contiver um ponto e vírgula (;), o OdbcConnectionStringBuilder rodeia o valor com aspas no cadeia de ligação. Para evitar este problema com o Driver valor que frequentemente contém um ponto e vírgula, a OdbcConnectionStringBuilder classe rodeia sempre esse valor com colchetes. A especificação ODBC indica que valores de driver que contêm ponto e vírgula devem estar rodeados por chaves, e esta classe trata disso por si.

A Item[] propriedade trata de tentativas de inserir código malicioso. Por exemplo, o código seguinte, 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 é a seguinte cadeia de ligação que trata o valor inválido de forma segura:

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

Construtores

Name Description
OdbcConnectionStringBuilder()

Inicializa uma nova instância da OdbcConnectionStringBuilder classe.

OdbcConnectionStringBuilder(String)

Inicializa uma nova instância da OdbcConnectionStringBuilder classe. A cadeia de ligação fornecida fornece os dados para a informação interna de ligação da instância.

Propriedades

Name Description
BrowsableConnectionString

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

(Herdado de DbConnectionStringBuilder)
ConnectionString

Obtém ou define o cadeia de ligação associado ao DbConnectionStringBuilder.

(Herdado de DbConnectionStringBuilder)
Count

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

(Herdado de DbConnectionStringBuilder)
Driver

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

Dsn

Obtém ou define o nome da fonte de dados (DSN) associada à ligaçã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 é apenas de leitura.

(Herdado de DbConnectionStringBuilder)
Item[String]

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

Keys

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

Values

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

(Herdado de DbConnectionStringBuilder)

Métodos

Name Description
Add(String, Object)

Adiciona uma entrada com a chave e valor especificados no DbConnectionStringBuilder.

(Herdado de DbConnectionStringBuilder)
Clear()

Limpa o conteúdo da OdbcConnectionStringBuilder instância.

ClearPropertyDescriptors()

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

(Herdado de DbConnectionStringBuilder)
ContainsKey(String)

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

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
EquivalentTo(DbConnectionStringBuilder)

Compara a informação de ligação neste DbConnectionStringBuilder objeto com a informação de ligação no objeto fornecido.

(Herdado de DbConnectionStringBuilder)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetProperties(Hashtable)

Preenche um fornecimento Hashtable 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 atual Object.

(Herdado de Object)
Remove(String)

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

ShouldSerialize(String)

Indica se a chave especificada existe neste DbConnectionStringBuilder caso.

(Herdado de DbConnectionStringBuilder)
ToString()

Devolve o cadeia de ligação associado a este DbConnectionStringBuilder.

(Herdado de DbConnectionStringBuilder)
TryGetValue(String, Object)

Recupera um valor correspondente à chave fornecida a partir desta OdbcConnectionStringBuilder.

Implementações de Interface Explícita

Name Description
ICollection.CopyTo(Array, Int32)

Copia os elementos do ICollection para um Array, começando num índice particular Array .

(Herdado de DbConnectionStringBuilder)
ICollection.IsSynchronized

Recebe um valor que indica se o acesso ao 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()

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

(Herdado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetClassName()

Devolve o nome da classe desta instância de um componente.

(Herdado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetComponentName()

Devolve o nome desta instância de um componente.

(Herdado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetConverter()

Devolve um conversor de tipos para esta instância de um componente.

(Herdado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetDefaultEvent()

Devolve o evento predefinido para esta instância de um componente.

(Herdado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetDefaultProperty()

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

(Herdado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetEditor(Type)

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

(Herdado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetEvents()

Devolve os eventos para esta instância de um componente.

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

Devolve os eventos para esta instância de um componente usando o array de atributos especificado como filtro.

(Herdado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetProperties()

Devolve as propriedades para esta instância de um componente.

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

Devolve as propriedades para esta instância de um componente usando o array de atributos como filtro.

(Herdado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor)

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

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

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

(Herdado de DbConnectionStringBuilder)
IDictionary.Contains(Object)

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

(Herdado de DbConnectionStringBuilder)
IDictionary.GetEnumerator()

Devolve um IDictionaryEnumerator objeto para o IDictionary objeto.

(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 IDictionary objeto.

(Herdado de DbConnectionStringBuilder)
IEnumerable.GetEnumerator()

Devolve um enumerador que itera numa coleção.

(Herdado de DbConnectionStringBuilder)

Métodos da Extensão

Name Description
AsParallel(IEnumerable)

Permite a paralelização de uma consulta.

AsQueryable(IEnumerable)

Converte um IEnumerable para um IQueryable.

Cast<TResult>(IEnumerable)

Conjura os elementos de an IEnumerable para o tipo especificado.

OfType<TResult>(IEnumerable)

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

Aplica-se a

Ver também