OleDbConnectionStringBuilder Classe

Definição

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

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

Exemplos

A seguinte aplicação de consola constrói cadeias de ligação para várias bases de dados OLE DB. Primeiro, o exemplo cria uma cadeia de ligação para uma base de dados do Microsoft Access, e 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.

Note

Este exemplo inclui uma palavra-passe para demonstrar como OleDbConnectionStringBuilder funciona com strings de ligação. Nas suas aplicações, recomendamos que utilize a Autenticação Windows. Se tiver de usar uma palavra-passe, não inclua uma palavra-passe codificada diretamente na sua candidatura.

using System.Data.OleDb;

class Program
{
    static void Main(string[] args)
    {
        OleDbConnectionStringBuilder builder = new OleDbConnectionStringBuilder();
        builder.ConnectionString = @"Data Source=C:\Sample.mdb";

        // Call the Add method to explicitly add key/value
        // pairs to the internal collection.
        builder.Add("Provider", "Microsoft.Jet.Oledb.4.0");
        builder.Add("Jet OLEDB:Database Password", "MyPassword!");
        builder.Add("Jet OLEDB:System Database", @"C:\Workgroup.mdb");

        // Set up row-level locking.
        builder.Add("Jet OLEDB:Database Locking Mode", 1);

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

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

        // Pass the OleDbConnectionStringBuilder an existing
        // connection string, and you can retrieve and
        // modify any of the elements.
        builder.ConnectionString =
            "Provider=DB2OLEDB;Network Transport Library=TCPIP;" +
            "Network Address=192.168.0.12;Initial Catalog=DbAdventures;" +
            "Package Collection=SamplePackage;Default Schema=SampleSchema;";

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

        // Modify existing items.
        builder["Package Collection"] = "NewPackage";
        builder["Default Schema"] = "NewSchema";

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

        // 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 value, if
        // necessary.
        builder["User ID"] = "SampleUser";
        builder["Password"] = "SamplePassword";
        Console.WriteLine(builder.ConnectionString);

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

Module Module1
  Sub Main()
    Dim builder As New OleDbConnectionStringBuilder()
    builder.ConnectionString = "Data Source=C:\Sample.mdb"

    ' Call the Add method to explicitly add key/value
    ' pairs to the internal collection.
    builder.Add("Provider", "Microsoft.Jet.Oledb.4.0")
    builder.Add("Jet OLEDB:Database Password", "MyPassword!")
    builder.Add("Jet OLEDB:System Database", "C:\Workgroup.mdb")

    ' Set up row-level locking.
    builder.Add("Jet OLEDB:Database Locking Mode", 1)

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

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

    ' Pass the OleDbConnectionStringBuilder an existing
    ' connection string, and you can retrieve and
    ' modify any of the elements.
    builder.ConnectionString = "..."

    Console.WriteLine("Network Address = " & builder("Network Address").ToString())
    Console.WriteLine()

    ' Modify existing items.
    builder("Package Collection") = "NewPackage"
    builder("Default Schema") = "NewSchema"

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

    ' 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("User ID") = "SampleUser"
    builder("Password") = "SamplePassword"
    Console.WriteLine(builder.ConnectionString)

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

Observações

O cadeia de ligação builder permite aos programadores criar 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 OLE DB, e os programadores podem adicionar pares de chave/valor arbitrários para quaisquer outros valores de cadeia de ligação. A classe OleDbConnectionStringBuilder implementa a interface ICustomTypeDescriptor. Isto significa que a aula trabalha com Visual Studio .NET designers no momento do design. Quando os programadores usam o designer para construir DataSets fortemente tipados e ligações fortemente tipadas dentro de Visual Studio .NET, a classe builder de cadeia de ligação fortemente tipada exibirá as propriedades associadas ao seu tipo e também terá conversores que podem mapear valores comuns para chaves conhecidas.

Os programadores que precisam de criar strings de ligação como parte de aplicações podem usar a OleDbConnectionStringBuilder 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. Realiza OleDbConnectionStringBuilder 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 conhecidas e as respetivas propriedades dentro da OleDbConnectionStringBuilder classe, bem como os seus valores padrão. Para além destes valores específicos, os programadores podem adicionar quaisquer pares chave/valor à coleção contida na OleDbConnectionStringBuilder instância:

Chave Property Valor predefinido
Nome do arquivo FileName ""
Provider Provider ""
Fonte de dados DataSource ""
Informação de Persistir Segurança PersistSecurityInfo Falso
Serviços OLE DB OleDbServices -13

A Item[] propriedade trata de tentativas de inserir entradas maliciosas. 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.OleDb.OleDbConnectionStringBuilder
builder("Provider") = "Microsoft.Jet.OLEDB.4.0"
builder("Data Source") = "C:\Sample.mdb"
builder("User Id") = "Admin;NewValue=Bad"
System.Data.OleDb.OleDbConnectionStringBuilder builder =
    new System.Data.OleDb.OleDbConnectionStringBuilder();
builder["Provider"] = "Microsoft.Jet.OLEDB.4.0";
builder["Data Source"] = "C:\\Sample.mdb";
builder["User Id"] = "Admin;NewValue=Bad";

O resultado é a seguinte cadeia de ligação que trata o valor inválido de forma segura:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Sample.mdb;User ID="Admin;NewValue=Bad"

Construtores

Name Description
OleDbConnectionStringBuilder()

Inicializa uma nova instância da OleDbConnectionStringBuilder classe.

OleDbConnectionStringBuilder(String)

Inicializa uma nova instância da OleDbConnectionStringBuilder 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)
DataSource

Obtém ou define o nome da fonte de dados a que se ligar.

FileName

Recebe ou define o nome do ficheiro Universal Data Link (UDL) para se ligar à fonte de dados.

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

OleDbServices

Obtém ou define o valor a ser passado para a chave OLE DB Services dentro da cadeia de ligação.

PersistSecurityInfo

Recebe ou define um valor booleano que indica se informação sensível à segurança, como a palavra-passe, é devolvida como parte da ligação caso esta esteja aberta ou alguma vez tenha estado em estado aberto.

Provider

Recebe ou define uma cadeia que contém o nome do fornecedor de dados associado à cadeia de ligação interna.

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 OleDbConnectionStringBuilder instância.

ClearPropertyDescriptors()

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

(Herdado de DbConnectionStringBuilder)
ContainsKey(String)

Determina se o OleDbConnectionStringBuilder 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 OleDbConnectionStringBuilder 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 da OleDbConnectionStringBuilder instância.

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