OdbcConnection.ConnectionString Tulajdonság

Definíció

Lekéri vagy beállítja az adatforrás megnyitásához használt sztringet.

public:
 virtual property System::String ^ ConnectionString { System::String ^ get(); void set(System::String ^ value); };
public:
 property System::String ^ ConnectionString { System::String ^ get(); void set(System::String ^ value); };
public override string ConnectionString { get; set; }
public string ConnectionString { get; set; }
[System.ComponentModel.SettingsBindable(true)]
public override string ConnectionString { get; set; }
member this.ConnectionString : string with get, set
[<System.ComponentModel.SettingsBindable(true)>]
member this.ConnectionString : string with get, set
Public Overrides Property ConnectionString As String
Public Property ConnectionString As String

Tulajdonság értéke

Az ODBC-illesztő kapcsolati karakterlánc, amely tartalmazza a kezdeti kapcsolat létrehozásához szükséges beállításokat, például az adatforrás nevét. Az alapértelmezett érték egy üres sztring (""). A maximális hossz 1024 karakter.

Megvalósítás

Attribútumok

Megjegyzések

A ConnectionString tulajdonság úgy lett kialakítva, hogy a lehető legszorosabban illeszkedjen az ODBC kapcsolati karakterlánc formátumához. A ConnectionString beállítás csak akkor állítható be, ha a kapcsolat bezárult, és amint be van állítva, változatlanul továbbítja az illesztőprogram-kezelőnek és az alapul szolgáló illesztőprogramnak. Ezért a szintaxisnak ConnectionString pontosan meg kell egyeznie azzal, amit az Illesztőprogram-kezelő és az alapul szolgáló illesztőprogram támogat.

A ConnectionString tulajdonság használatával számos adatforráshoz csatlakozhat. Ez magában foglalja az ODBC-adatforrás nevét (DSN). Az alábbi példa több lehetséges kapcsolati sztringet mutat be.

"Driver={SQL Server};Server=(local);Trusted_Connection=Yes;Database=AdventureWorks;"

"Driver={Microsoft ODBC for Oracle};Server=ORACLE8i7;Persist Security Info=False;Trusted_Connection=Yes"

"Driver={Microsoft Access Driver (*.mdb)};DBQ=c:\bin\Northwind.mdb"

"Driver={Microsoft Excel Driver (*.xls)};DBQ=c:\bin\book1.xls"

"Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=c:\bin"

"DSN=dsnname"

Note

Az ODBC-hez készült .NET keretrendszer Data Provider nem támogatja a Persist Security Info kulcsszót, amelyet más .NET Keretrendszer-adatszolgáltatók támogatnak. A ConnectionString tulajdonság azonban úgy viselkedik, mintha Persist Security Info be falselett volna állítva. Ez azt jelenti, hogy nem tudja lekérni a jelszót a ConnectionString tulajdonságból, ha a kapcsolat meg van nyitva. Amikor a ConnectionString tulajdonság egy megnyitott OdbcConnection objektumból olvas be, a kapcsolati karakterlánc a jelszóval csökkentett érték lesz visszaadva. Ezt a viselkedést nem módosíthatja; ezért, ha az alkalmazásnak szüksége van a jelszóra, a hívás Openelőtt külön tárolja.

A sztringben megadott számos beállítás rendelkezik megfelelő írásvédett tulajdonságokkal (például Server=(local)a DataSource tulajdonságnak megfelelő). Ezek a tulajdonságok a kapcsolat megnyitása után frissülnek, kivéve, ha hiba észlelhető. Ebben az esetben egyik tulajdonság sem frissül. OdbcConnection tulajdonságok (például Database) csak az alapértelmezett beállításokat adja vissza, vagy azokat a beállításokat, amelyeket a ConnectionString.

A kapcsolati karakterlánc néhány alapvető ellenőrzése a ConnectionString tulajdonság beállítása után történik. Ekkor az adatszolgáltató ellenőrzi, hogy a kapcsolati karakterlánc megfelel-e a "keyword=value;... " formátum, de nem ellenőrzi, hogy a kulcsszavak vagy értékek érvényesek-e. A fennmaradó ellenőrzést az alapul szolgáló ODBC-illesztőprogram végzi el, amikor az alkalmazás meghívja a metódust Open .

Az ODBC-kapcsolati karakterlánc szintaxisa a következő:

connection-string ::= empty-string[;] | attribute[;] | attribute; connection-string
empty-string ::=
attribute ::= attribute-keyword=attribute-value | DRIVER=[{]attribute-value[}]
attribute-keyword ::= DSN | UID | PWD
 | driver-defined-attribute-keyword
attribute-value ::= character-string
driver-defined-attribute-keyword ::= identifier

ahol character-string nulla vagy több karakter van; identifier egy vagy több karakterből áll; attribute-keyword nem megkülönbözteti a kis- és nagybetűket; attribute-value a DSN-kulcsszó értéke pedig nem csak üres karakterekből áll.

A kapcsolati karakterlánc és az inicializálási fájl nyelvtana miatt kerülni kell a []{}(); karaktereket tartalmazó kulcsszavakat és attribútumértékeket? *=!@ nincs kapcsos zárójelek közé zárva. A DSN-kulcsszó értéke nem állhat csak üres elemekből, és nem tartalmazhat kezdő üres elemeket. A rendszerinformációk nyelvtana miatt a kulcsszavak és az adatforrásnevek nem tartalmazhatják a fordított perjel (\) karaktert.

Az alkalmazásoknak nem kell kapcsos zárójeleket hozzáadniuk az attribútum értékéhez az illesztőprogram kulcsszó után, kivéve, ha az attribútum pontosvesszőt tartalmaz (;), ebben az esetben a kapcsos zárójelek szükségesek. Ha az illesztőprogram által kapott attribútumérték kapcsos zárójeleket tartalmaz, az illesztőprogramnak nem szabad eltávolítania őket, hanem a visszaadott kapcsolati karakterlánc kell részesítenie őket.

Kapcsos zárójelekkel ({}) körülvett DSN vagy kapcsolati karakterlánc érték, amely a []{}(); karakterek bármelyikét tartalmazza? *=!@ épen továbbítja a vezetőnek. Ha azonban kulcsszavakban használja ezeket a karaktereket, az Illesztőprogram-kezelő hibaüzenetet ad vissza, amikor fájlDSN-ekkel dolgozik, de a kapcsolati karakterlánc átadja az illesztőprogramnak a normál kapcsolati sztringekhez. Kerülje a beágyazott zárójelek használatát egy kulcsszóértékben.

A kapcsolati karakterlánc bármilyen számú illesztőprogram által definiált kulcsszót tartalmazhatnak. Mivel a DRIVER kulcsszó nem a rendszerből származó információkat használja, az illesztőprogramnak elegendő kulcsszót kell meghatároznia ahhoz, hogy az illesztőprogram csak a kapcsolati karakterlánc lévő információkat használva csatlakozzon egy adatforráshoz. Az illesztőprogram határozza meg, hogy mely kulcsszavak szükségesek az adatforráshoz való csatlakozáshoz.

Ha a kapcsolati karakterlánc megismétli a kulcsszavakat, nincs garancia arra, hogy melyik érték legyen kiválasztva.

Note

Ha egy ODBC-illesztő 1024 karakternél hosszabb kapcsolati sztringeket támogat, az adatforrás neve (DSN) használatával túllépheti a maximális hosszkorlátozást.

A következőre érvényes:

Lásd még