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. Nejprve příklad vytvoří připojovací řetězec pro databázi Microsoft Accessu. Pak 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ího řetězce.
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ích řetězců umožňují vývojářům programově vytvářet syntakticky správné připojovací řetězce a parsovat a znovu sestavit existující připojovací řetězce pomocí vlastností a metod třídy. Tvůrce připojovacích řetězců poskytuje vlastnosti silného typu odpovídající známým párům klíč/hodnota povolených připojeními ODBC a vývojáři můžou přidat libovolné páry klíč/hodnota pro všechny ostatní hodnoty připojovacího řetězce.
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 uvádí konkrétní známé klíče společně s odpovídajícími vlastnostmi v rámci OdbcConnectionStringBuilder třídy a jejich výchozí hodnoty. Kromě těchto konkrétních hodnot můžou vývojáři do kolekce obsažené v OdbcConnectionStringBuilder instanci přidat jakékoli páry 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, které obklopují název 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 (jiná než Driver hodnota) v připojovacím řetězci obsahuje středník (;), OdbcConnectionStringBuilder uzavře hodnotu do uvozovek v připojovacím řetězci. Aby se zabránilo tomuto problému s Driver hodnotou, která často obsahuje středník, OdbcConnectionStringBuilder třída tuto hodnotu vždy obklopuje 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 pomocí výchozí Item[] vlastnosti (indexer v jazyce C#) správně ukazuje dvojici vnořených 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. Zadaný připojovací řetězec poskytuje data pro interní informace o připojení instance. |
Vlastnosti
BrowsableConnectionString |
Získá nebo nastaví hodnotu, která označuje, zda ConnectionString je vlastnost viditelná v Visual Studio návrháři. (Zděděno od DbConnectionStringBuilder) |
ConnectionString |
Získá nebo nastaví připojovací řetězec přidružený k sadě DbConnectionStringBuilder. (Zděděno od DbConnectionStringBuilder) |
Count |
Získá aktuální počet klíčů, které jsou obsaženy v 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 názvu zdroje dat (DSN) přidruženého 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 |
ICollection Získá, který obsahuje klíče v OdbcConnectionStringBuilder. |
Values |
ICollection Získá hodnotu, která obsahuje hodnoty v souboru DbConnectionStringBuilder. (Zděděno od DbConnectionStringBuilder) |
Metody
Add(String, Object) |
Přidá položku se zadaným klíčem a hodnotou do DbConnectionStringBuildersouboru . (Zděděno od DbConnectionStringBuilder) |
Clear() |
Vymaže obsah OdbcConnectionStringBuilder instance. |
ClearPropertyDescriptors() |
Vymaže kolekci PropertyDescriptor objektů na přidruženém DbConnectionStringBuilderobjektu . (Zděděno od DbConnectionStringBuilder) |
ContainsKey(String) |
Určuje, zda OdbcConnectionStringBuilder obsahuje 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í funkce hash. (Zděděno od Object) |
GetProperties(Hashtable) |
Vyplní zadaný Hashtable údaj o všech vlastnostech tohoto DbConnectionStringBuildersouboru . (Zděděno od DbConnectionStringBuilder) |
GetType() |
Type Získá aktuální instanci. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří použádnou kopii aktuálního souboru Object. (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 z tohoto OdbcConnectionStringBuilderklíče hodnotu odpovídající zadanému klíči . |
Explicitní implementace rozhraní
ICollection.CopyTo(Array, Int32) |
Zkopíruje prvky do objektu ICollection Array, 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 této ICollection synchronizaci (bezpečné vlákno). (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ěč typu 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 pomocí pole atributů jako filtru. (Zděděno od DbConnectionStringBuilder) |
ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor) |
Vrátí objekt, který obsahuje vlastnost popsanou zadaným popisovačem vlastnosti. (Zděděno od DbConnectionStringBuilder) |
IDictionary.Add(Object, Object) |
Přidá prvek se zadaným klíčem a hodnotou do 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 objektuIDictionary. (Zděděno od DbConnectionStringBuilder) |
IDictionary.Item[Object] |
Získá nebo nastaví prvek 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 zadaného IEnumerable typu. |
OfType<TResult>(IEnumerable) |
Filtruje prvky IEnumerable založené na zadaném typu. |
AsParallel(IEnumerable) |
Umožňuje paralelizaci dotazu. |
AsQueryable(IEnumerable) |
Převede na IEnumerable IQueryable. |