Condividi tramite


OdbcConnection.ConnectionString Proprietà

Definizione

Ottiene o imposta la stringa utilizzata per aprire un'origine dati.

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

Valore della proprietà

Stringa di connessione del driver ODBC che contiene impostazioni, quali il nome dell'origine dati, necessari a stabilire la connessione iniziale. Il valore predefinito è una stringa vuota (""). La lunghezza massima è 1024 caratteri.

Implementazioni

Attributi

Commenti

La ConnectionString proprietà è progettata per corrispondere al formato ODBC stringa di connessione il più possibile. L'oggetto ConnectionString può essere impostato solo quando la connessione viene chiusa e non appena viene impostata viene passata, invariata, su Gestione driver e sul driver sottostante. Pertanto, la sintassi per l'oggetto ConnectionString deve corrispondere esattamente a ciò che supporta Driver Manager e driver sottostante.

È possibile usare la ConnectionString proprietà per connettersi a un'ampia gamma di origini dati. Include un nome origine dati ODBC (DSN). Nell'esempio seguente vengono illustrate diverse stringhe di connessione possibili.

"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"

Nota

Il provider di dati .NET Framework per ODBC non supporta la Persist Security Info parola chiave supportata da altri provider di dati .NET Framework. Tuttavia, la ConnectionString proprietà si comporta come se Persist Security Info fosse impostata su false. Ciò significa che non è possibile recuperare la password dalla ConnectionString proprietà se la connessione è stata aperta. Quando la ConnectionString proprietà viene letto da un OdbcConnection oggetto aperto, il stringa di connessione viene restituito meno la password. Non è possibile modificare questo comportamento; pertanto, se l'applicazione richiede la password, archiviarla separatamente prima di chiamare Open.

Molte delle impostazioni specificate nella stringa hanno proprietà di sola lettura corrispondenti, ad esempio , Server=(local)che corrisponde alla DataSource proprietà. Queste proprietà vengono aggiornate dopo l'apertura della connessione, tranne quando viene rilevato un errore. In questo caso, nessuno delle proprietà viene aggiornato. OdbcConnection le proprietà (ad esempio Database) restituiscono solo le impostazioni predefinite o quelle specificate nell'oggetto ConnectionString.

Nella versione 1.0 di Microsoft .NET Framework la convalida del stringa di connessione non viene eseguita finché un'applicazione chiama il Open metodo. È responsabilità del driver ODBC sottostante convalidare il stringa di connessione. Se la stringa di connessione contiene proprietà non valide o non supportate, il driver può generare un oggetto OdbcException in fase di esecuzione.

Tuttavia, nella versione 1.1 di .NET Framework e versioni successive, viene eseguita una convalida di base della stringa di connessione non appena si imposta la ConnectionString proprietà. In quel momento, il provider di dati verifica che l'stringa di connessione soddisfi la "parola chiave=valore;..." formato, ma non verifica se le parole chiave o i valori sono validi. La verifica rimanente viene eseguita dal driver ODBC sottostante quando l'applicazione chiama il Open metodo .

Un stringa di connessione ODBC ha la sintassi seguente:

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

dove character-string ha zero o più caratteri; identifier ha uno o più caratteri; attribute-keyword non è distinzione tra maiuscole e minuscole; attribute-value può essere distinzione tra maiuscole e minuscole e il valore della parola chiave DSN non è costituito solo da spazi vuoti.

A causa di stringa di connessione e grammatica del file di inizializzazione, le parole chiave e i valori degli attributi devono essere evitati che contengono i caratteri []{}(),;? *=!@ non racchiuso tra parentesi graffe. Il valore della parola chiave DSN non può essere costituito solo da spazi vuoti e non deve contenere spazi vuoti iniziali. A causa della grammatica delle informazioni di sistema, le parole chiave e i nomi delle origini dati non possono contenere il carattere della barra rovesciata (\).

Le applicazioni non devono aggiungere parentesi graffe intorno al valore dell'attributo dopo la parola chiave Driver, a meno che l'attributo non contenga un punto e virgola (;), in cui sono necessarie le parentesi graffe. Se il valore dell'attributo ricevuto dal driver include parentesi graffe, il driver non deve rimuoverli, ma deve essere parte del stringa di connessione restituito.

Valore DSN o stringa di connessione racchiuso tra parentesi graffe ({}) contenente uno dei caratteri []{}(),;? *=!@ viene passato intatto al driver. Tuttavia, quando si usano questi caratteri in una parola chiave, Gestione driver restituisce un errore quando si utilizzano DSN file, ma passa il stringa di connessione al driver per le stringhe di connessione regolari. Evitare di usare parentesi graffe incorporate in un valore di parola chiave.

Il stringa di connessione può includere qualsiasi numero di parole chiave definite dal driver. Poiché la parola chiave DRIVER non usa informazioni dal sistema, il driver deve definire parole chiave sufficienti in modo che un driver possa connettersi a un'origine dati usando solo le informazioni nell'stringa di connessione. Il driver definisce le parole chiave necessarie per connettersi all'origine dati.

Se le parole chiave vengono ripetute nella stringa di connessione, non esiste alcuna garanzia che verrà selezionata.

Nota

Se un driver ODBC supporta stringhe di connessione superiori a 1024 caratteri, è possibile usare un nome origine dati (DSN) per superare la limitazione massima della lunghezza.

Si applica a

Vedi anche