Sdílet prostřednictvím


OdbcConnectionStringBuilder Třída

Definice

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

Platí pro

Viz také