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 include impostazioni, ad esempio il nome dell'origine dati, necessarie per stabilire la connessione iniziale. Il valore predefinito è una stringa vuota (""). La lunghezza massima è di 1024 caratteri.

Implementazioni

Attributi

Commenti

La ConnectionString proprietà è progettata per corrispondere al formato della stringa di connessione ODBC il più possibile. ConnectionString Può essere impostato solo quando la connessione viene chiusa e non appena viene impostata viene passata, invariata, a Gestione driver e al driver sottostante. Pertanto, la sintassi per deve ConnectionString 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. Sono inclusi un nome di 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"

Annotazioni

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 letta da un OdbcConnection oggetto aperto, la stringa di connessione viene restituita 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, Server=(local)ad esempio , che corrisponde alla DataSource proprietà . Queste proprietà vengono aggiornate dopo l'apertura della connessione, tranne quando viene rilevato un errore. In questo caso, nessuna delle proprietà viene aggiornata. OdbcConnection le proprietà , ad esempio Database, restituiscono solo le impostazioni predefinite o quelle specificate in ConnectionString.

La convalida di base della stringa di connessione viene eseguita non appena si imposta la ConnectionString proprietà . In quel momento, il provider di dati verifica che la stringa di connessione soddisfi "keyword=value;..." format, 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 .

Una 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 fa distinzione tra maiuscole e minuscole; attribute-value può essere fatta distinzione tra maiuscole e minuscole e il valore della parola chiave DSN non è costituito solo da spazi vuoti.

A causa della grammatica dei file di inizializzazione e della stringa di connessione, è consigliabile evitare parole chiave e valori di attributo 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 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 (;), nel qual caso sono necessarie le parentesi graffe. Se il valore dell'attributo ricevuto dal driver include parentesi graffe, il driver non deve rimuoverlo, ma deve far parte della stringa di connessione restituita.

Valore della stringa di connessione o DSN racchiuso tra parentesi graffe ({}) che contiene 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 la stringa di connessione al driver per le normali stringhe di connessione. Evitare di usare parentesi graffe incorporate in un valore di parola chiave.

La stringa di connessione può includere un numero qualsiasi 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 nella 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 quale valore verrà selezionato.

Annotazioni

Se un driver ODBC supporta stringhe di connessione superiori a 1024 caratteri, è possibile usare un nome origine dati (DSN) per superare il limite massimo di lunghezza.

Si applica a

Vedi anche