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. 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ího řetězce.
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
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 sestavovat 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 mohou přidat libovolné páry klíč/hodnota pro všechny ostatní hodnoty připojovacího řetězce.
Vývojáři, kteří potřebují vytvářet připojovací řetězce v rámci aplikací, můžou pomocí OdbcConnectionStringBuilder třídy vytvářet a upravovat připojovací řetězce. 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 libovolné páry klíč/hodnota.
| Klíč | Vlastnictví | Komentář | Výchozí hodnota |
|---|---|---|---|
| Driver | 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 některá hodnota (kromě Driver hodnoty) v připojovacím řetězci obsahuje středník (;), OdbcConnectionStringBuilder ohraničí hodnotu uvozovkami 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čů, které obsahují středníky, musí být obklopeny složenými závorkami a tato třída to za vás zpracovává.
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ě unikne 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
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
| 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 v vlastnosti ConnectionString . (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 objektu OdbcConnectionStringBuilder. |
| Values |
ICollection Získá, který obsahuje hodnoty v objektu DbConnectionStringBuilder. (Zděděno od DbConnectionStringBuilder) |
Metody
| Name | Description |
|---|---|
| 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 OdbcConnectionStringBuilder obsahuje konkrétní klíč. |
| Equals(Object) |
Určuje, zda je zadaný objekt roven 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í dodanou Hashtable informaci o všech vlastnostech tohoto DbConnectionStringBuilderobjektu . (Zděděno od DbConnectionStringBuilder) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního 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í
| Name | Description |
|---|---|
| ICollection.CopyTo(Array, Int32) |
Zkopíruje prvky 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 této 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ěč 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 pomocí pole atributů jako filtru. (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 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() |
Vrátí enumerátor, který iteruje kolekcí. (Zděděno od DbConnectionStringBuilder) |
Metody rozšíření
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Umožňuje paralelizaci dotazu. |
| AsQueryable(IEnumerable) |
Převede IEnumerable na IQueryable. |
| Cast<TResult>(IEnumerable) |
Přetypuje prvky IEnumerable na zadaný typ. |
| OfType<TResult>(IEnumerable) |
Filtruje prvky IEnumerable na základě zadaného typu. |