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