OdbcConnectionStringBuilder 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.
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
- 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. |