OdbcConnectionStringBuilder Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Poskytuje jednoduchý způsob, jak vytvořit a spravovat obsah připojovacích řetězců používaných OdbcConnection třídou.
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
- Dědičnost
- Atributy
Příklady
Následující konzolová aplikace sestaví připojovací řetězce pro několik databází ODBC. Příklad nejprve vytvoří připojovací řetězec pro databázi Microsoft Accessu. Potom vytvoří připojovací řetězec pro databázi IBM DB2. Příklad také analyzuje existující připojovací řetězec a ukazuje různé způsoby manipulace s obsahem připojovací řetězec.
Poznámka
Tento příklad obsahuje heslo, které ukazuje, jak OdbcConnectionStringBuilder funguje s připojovacími řetězci. Ve vašich aplikacích doporučujeme používat ověřování systému Windows. Pokud je nutné použít heslo, nevkládejte do své aplikace pevně zakódované heslo.
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
Poznámky
Tvůrci připojovací řetězec umožňují vývojářům programově vytvářet syntakticky správné připojovací řetězce a analyzovat a znovu sestavit existující připojovací řetězce pomocí vlastností a metod třídy. Tvůrce připojovací řetězec poskytuje vlastnosti silného typu odpovídající známým párům klíč/hodnota povoleným připojeními ODBC a vývojáři můžou přidat libovolné páry klíč/hodnota pro jakékoli další připojovací řetězec hodnoty.
Vývojáři, kteří potřebují vytvořit připojovací řetězce jako součást aplikací, můžou třídu použít OdbcConnectionStringBuilder k sestavení a úpravě připojovacích řetězců. Třída také usnadňuje správu připojovacích řetězců uložených v konfiguračním souboru aplikace. OdbcConnectionStringBuilder provádí kontroly pouze pro omezenou sadu známých párů klíč/hodnota. Proto lze tuto třídu použít k vytvoření neplatných připojovacích řetězců. Následující tabulka obsahuje seznam konkrétních známých klíčů spolu s jejich odpovídajícími vlastnostmi v rámci OdbcConnectionStringBuilder třídy a jejich výchozími hodnotami. Kromě těchto specifických hodnot můžou vývojáři do kolekce, která je obsažena v OdbcConnectionStringBuilder instanci, přidat libovolný pár klíč/hodnota.
Klíč | Vlastnost | Komentář | Výchozí hodnota |
---|---|---|---|
Ovladač | Driver | Vývojáři by při nastavování Driver vlastnosti neměli obsahovat složené závorky kolem názvu ovladače. Instance OdbcConnectionStringBuilder podle potřeby přidá složené závorky. | Prázdný řetězec |
DSN | Dsn | Prázdný řetězec |
Pokud jakákoli hodnota (kromě Driver hodnoty) v rámci připojovací řetězec obsahuje středník (;), OdbcConnectionStringBuilder obklopí hodnotu uvozovkami v připojovací řetězec. Aby se zabránilo tomuto problému s Driver hodnotou, která často obsahuje středník, OdbcConnectionStringBuilder třída vždy obklopuje tuto hodnotu složenými závorkami. Specifikace ODBC označuje, že hodnoty ovladače, které obsahují středníky, musí být obklopeny složenými závorkami a tato třída to zpracovává za vás.
Vlastnost Item[] zpracovává pokusy o vložení škodlivého kódu. Například následující kód s použitím výchozí Item[] vlastnosti (indexer v jazyce C#) správně unikne z vnořené dvojice klíč/hodnota.
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);
Výsledkem je následující připojovací řetězec, který bezpečně zpracovává neplatnou hodnotu:
Driver={SQL Server};Server="MyServer;NewValue=Bad"
Konstruktory
OdbcConnectionStringBuilder() |
Inicializuje novou instanci OdbcConnectionStringBuilder třídy. |
OdbcConnectionStringBuilder(String) |
Inicializuje novou instanci OdbcConnectionStringBuilder třídy. Poskytnutá připojovací řetězec poskytuje data pro informace o interním připojení instance. |
Vlastnosti
BrowsableConnectionString |
Získá nebo nastaví hodnotu, která označuje, zda ConnectionString je vlastnost viditelná v návrhářích sady Visual Studio. (Zděděno od DbConnectionStringBuilder) |
ConnectionString |
Získá nebo nastaví připojovací řetězec přidružené k DbConnectionStringBuilder. (Zděděno od DbConnectionStringBuilder) |
Count |
Získá aktuální počet klíčů, které jsou obsaženy ve ConnectionString vlastnosti. (Zděděno od DbConnectionStringBuilder) |
Driver |
Získá nebo nastaví název ovladače ODBC přidruženého k připojení. |
Dsn |
Získá nebo nastaví název zdroje dat (DSN) přidružené k připojení. |
IsFixedSize |
Získá hodnotu, která označuje, zda DbConnectionStringBuilder má pevnou velikost. (Zděděno od DbConnectionStringBuilder) |
IsReadOnly |
Získá hodnotu, která označuje, zda DbConnectionStringBuilder je jen pro čtení. (Zděděno od DbConnectionStringBuilder) |
Item[String] |
Získá nebo nastaví hodnotu přidruženou k zadanému klíči. V jazyce C# je tato vlastnost indexerem. |
Keys |
Získá objektICollection, který obsahuje klíče v .OdbcConnectionStringBuilder |
Values |
Získá hodnotu ICollection , která obsahuje hodnoty v objektu DbConnectionStringBuilder. (Zděděno od DbConnectionStringBuilder) |
Metody
Add(String, Object) |
Přidá položku se zadaným klíčem a hodnotou do objektu DbConnectionStringBuilder. (Zděděno od DbConnectionStringBuilder) |
Clear() |
Vymaže obsah OdbcConnectionStringBuilder instance. |
ClearPropertyDescriptors() |
Vymaže kolekci PropertyDescriptor objektů v přidruženém DbConnectionStringBuilderobjektu . (Zděděno od DbConnectionStringBuilder) |
ContainsKey(String) |
Určuje, zda obsahuje OdbcConnectionStringBuilder konkrétní klíč. |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
EquivalentTo(DbConnectionStringBuilder) |
Porovná informace o připojení v tomto DbConnectionStringBuilder objektu s informacemi o připojení v zadaném objektu. (Zděděno od DbConnectionStringBuilder) |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetProperties(Hashtable) |
Vyplní zadaný objekt Hashtable informacemi o všech vlastnostech tohoto DbConnectionStringBuilderobjektu . (Zděděno od DbConnectionStringBuilder) |
GetType() |
Získá aktuální Type instanci. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
Remove(String) |
Odebere položku se zadaným klíčem z OdbcConnectionStringBuilder instance. |
ShouldSerialize(String) |
Určuje, zda zadaný klíč existuje v této DbConnectionStringBuilder instanci. (Zděděno od DbConnectionStringBuilder) |
ToString() |
Vrátí připojovací řetězec přidružené k tomuto DbConnectionStringBuilder. (Zděděno od DbConnectionStringBuilder) |
TryGetValue(String, Object) |
Načte hodnotu odpovídající zadanému klíči z tohoto OdbcConnectionStringBuilder. |
Explicitní implementace rozhraní
ICollection.CopyTo(Array, Int32) |
Zkopíruje elementy do objektu ICollectionArray, počínaje konkrétním Array indexem. (Zděděno od DbConnectionStringBuilder) |
ICollection.IsSynchronized |
Získá hodnotu označující, zda je přístup k ICollection je synchronizován (bez vláken). (Zděděno od DbConnectionStringBuilder) |
ICollection.SyncRoot |
Získá objekt, který lze použít k synchronizaci přístupu k ICollection. (Zděděno od DbConnectionStringBuilder) |
ICustomTypeDescriptor.GetAttributes() |
Vrátí kolekci vlastních atributů pro tuto instanci komponenty. (Zděděno od DbConnectionStringBuilder) |
ICustomTypeDescriptor.GetClassName() |
Vrátí název třídy této instance komponenty. (Zděděno od DbConnectionStringBuilder) |
ICustomTypeDescriptor.GetComponentName() |
Vrátí název této instance komponenty. (Zděděno od DbConnectionStringBuilder) |
ICustomTypeDescriptor.GetConverter() |
Vrátí převaděč typů pro tuto instanci komponenty. (Zděděno od DbConnectionStringBuilder) |
ICustomTypeDescriptor.GetDefaultEvent() |
Vrátí výchozí událost pro tuto instanci komponenty. (Zděděno od DbConnectionStringBuilder) |
ICustomTypeDescriptor.GetDefaultProperty() |
Vrátí výchozí vlastnost pro tuto instanci komponenty. (Zděděno od DbConnectionStringBuilder) |
ICustomTypeDescriptor.GetEditor(Type) |
Vrátí editor zadaného typu pro tuto instanci komponenty. (Zděděno od DbConnectionStringBuilder) |
ICustomTypeDescriptor.GetEvents() |
Vrátí události pro tuto instanci komponenty. (Zděděno od DbConnectionStringBuilder) |
ICustomTypeDescriptor.GetEvents(Attribute[]) |
Vrátí události pro tuto instanci komponenty pomocí zadaného pole atributů jako filtru. (Zděděno od DbConnectionStringBuilder) |
ICustomTypeDescriptor.GetProperties() |
Vrátí vlastnosti pro tuto instanci komponenty. (Zděděno od DbConnectionStringBuilder) |
ICustomTypeDescriptor.GetProperties(Attribute[]) |
Vrátí vlastnosti pro tuto instanci komponenty používající pole atributů jako filtr. (Zděděno od DbConnectionStringBuilder) |
ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor) |
Vrátí objekt, který obsahuje vlastnost popsanou popisovačem zadané vlastnosti. (Zděděno od DbConnectionStringBuilder) |
IDictionary.Add(Object, Object) |
Přidá prvek se zadaným klíčem a hodnotou k objektu IDictionary . (Zděděno od DbConnectionStringBuilder) |
IDictionary.Contains(Object) |
Určuje, zda IDictionary objekt obsahuje prvek se zadaným klíčem. (Zděděno od DbConnectionStringBuilder) |
IDictionary.GetEnumerator() |
IDictionaryEnumerator Vrátí objekt pro IDictionary objekt. (Zděděno od DbConnectionStringBuilder) |
IDictionary.Item[Object] |
Získá nebo nastaví element se zadaným klíčem. (Zděděno od DbConnectionStringBuilder) |
IDictionary.Remove(Object) |
Odebere prvek se zadaným klíčem z objektu IDictionary . (Zděděno od DbConnectionStringBuilder) |
IEnumerable.GetEnumerator() |
Vrací enumerátor procházející kolekci. (Zděděno od DbConnectionStringBuilder) |
Metody rozšíření
Cast<TResult>(IEnumerable) |
Přetypuje prvky objektu na IEnumerable zadaný typ. |
OfType<TResult>(IEnumerable) |
Filtruje prvky objektu IEnumerable na základě zadaného typu. |
AsParallel(IEnumerable) |
Umožňuje paralelizaci dotazu. |
AsQueryable(IEnumerable) |
Převede objekt na IEnumerableIQueryable. |