Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Proprietà SqlConnection.ConnectionString

 

Data di pubblicazione: novembre 2016

Ottiene o imposta la stringa usata per aprire un database SQL Server.

Spazio dei nomi:   System.Data.SqlClient
Assembly:  System.Data (in System.Data.dll)

[SettingsBindableAttribute(true)]
public override string ConnectionString { get; set; }

Valore proprietà

Type: System.String

Stringa di connessione che contiene il nome del database di origine e altri parametri necessari a stabilire la connessione iniziale. Il valore predefinito è una stringa vuota.

Exception Condition
ArgumentException

È stato fornito un argomento stringa di connessione non valido o non è stato specificato un argomento stringa di connessione richiesto.

Il ConnectionString è simile a una stringa di connessione OLE DB, ma non identica. A differenza di OLE DB o ADO, la stringa di connessione che viene restituita è lo stesso come il set di utenti ConnectionString, le informazioni di sicurezza se il valore di Persist Security Info è impostato su false (impostazione predefinita). Il .NET Framework Provider di dati per SQL Server non vengono mantenute o restituisce la password in una stringa di connessione, a meno che non si imposta Persist Security Info su true.

È possibile utilizzare il ConnectionString proprietà per connettersi a un database. Nell'esempio seguente viene illustrata una stringa di connessione tipica.

"Persist Security Info=False;Integrated Security=true;Initial Catalog=Northwind;server=(local)"

Usare il nuovo SqlConnectionStringBuilder per costruire stringhe di connessione valide in fase di esecuzione. Per altre informazioni, vedere Compilatori di stringhe di connessione.

Il ConnectionString proprietà può essere impostata solo quando la connessione viene chiusa. Molti dei valori di stringa di connessione contengono le proprietà corrispondenti di sola lettura. Quando si imposta la stringa di connessione, queste proprietà vengono aggiornate, tranne quando viene rilevato un errore. In questo caso, nessuna delle proprietà vengono aggiornata. SqlConnectionproprietà restituiscono solo le impostazioni contenute nel ConnectionString.

Per connettersi a un computer locale, specificare "(local)" per il server. Se non è stato specificato un nome di server, verrà tentata una connessione all'istanza predefinita nel computer locale.

Reimpostare il ConnectionString su una connessione chiusa Reimposta tutti i valori di stringa di connessione (e le proprietà correlate) inclusa la password. Ad esempio, se si imposta una stringa di connessione che include "Database = AdventureWorks" e quindi si reimposta la stringa di connessione per "origine dati = myserver; la sicurezza integrata = true", il Database proprietà non è impostata su "AdventureWorks".

La stringa di connessione viene analizzata immediatamente dopo l'impostazione. Se vengono rilevati errori di sintassi durante l'analisi, un'eccezione di runtime, ad esempio ArgumentException, viene generato. Altri errori sono disponibili solo quando viene effettuato un tentativo di aprire la connessione.

Il formato di base di una stringa di connessione include una serie di coppie parola chiave/valore separati da punti e virgola. Il segno di uguale (=) connette ogni parola chiave al relativo valore. Per includere i valori che contengono un punto e virgola, una virgoletta singola o una virgoletta doppia, il valore deve essere racchiuso tra virgolette doppie. Se il valore contiene sia un punto e virgola e un carattere di virgolette doppie, il valore può essere racchiuso tra virgolette singole. Virgoletta singola è utile anche se il valore inizia con un carattere di virgolette doppie. Viceversa, le virgolette doppie possono essere utilizzate se il valore inizia con una virgoletta singola. Se il valore contiene caratteri di virgoletta singola e virgolette doppie, il carattere virgoletta usato per delimitare il valore deve essere doppia ogni volta che si verifica all'interno del valore.

Per includere spazi iniziali o finali nel valore stringa, il valore deve essere racchiuso tra virgolette singole o doppie. Eventuali spazi iniziali o finali integer, Boolean o valori enumerati vengono ignorati, anche se racchiusi tra virgolette. Tuttavia, vengono mantenuti gli spazi all'interno di un valore o la parola chiave della stringa letterale. Virgolette singole o doppie può essere utilizzate in una stringa di connessione senza delimitatori (ad esempio, l'origine dati = My ' Server o un'origine dati = my Server"), a meno che un carattere di virgoletta è il primo o ultimo carattere nel valore.

Parole chiave non sono tra maiuscole e minuscole.

La tabella seguente elenca i nomi validi per i valori di parola chiave all'interno di ConnectionString.

Parola chiave

Predefinito

Descrizione

Addr

N/D

Sinonimo di origine dati.

Address

N/D

Sinonimo di origine dati.

App

N/D

Sinonimo di nome applicazione.

Nome applicazione

N/D

Il nome dell'applicazione, o ".NET SQLClient Data Provider" Se viene fornito alcun nome di applicazione.

Nome di un'applicazione può essere 128 caratteri o meno.

ApplicationIntent

ReadWrite

Dichiara il tipo di carico di lavoro dell'applicazione per la connessione a un server. I valori possibili sono ReadOnly e ReadWrite. Ad esempio:

ApplicationIntent=ReadOnly

Per ulteriori informazioni sul supporto SqlClient per gruppi di disponibilità AlwaysOn, vedere Supporto SqlClient per disponibilità elevata, ripristino di emergenza.

Elaborazione asincrona

-oppure-

Async

'false'

Quando true, abilita il supporto di operazione asincrona. I valori riconosciuti sono true, false, yes e no.

Questa proprietà viene ignorata a partire da .NET Framework 4.5. Per ulteriori informazioni sul supporto SqlClient per la programmazione asincrona, vedere Programmazione asincrona.

AttachDBFilename

-oppure-

Proprietà estese

-oppure-

Nome File iniziale

N/D

Il nome del file di database primario, incluso il nome del percorso completo di un database collegabile. AttachDBFilename è supportato solo per i file di dati primari con estensione mdf.

Se viene specificato il valore della chiave AttachDBFileName nella stringa di connessione, il database viene collegato e diventa il database predefinito per la connessione.

Se questa chiave non è specificata e il database è stato collegato in precedenza, il database non essere ricollegato. Il database collegato in precedenza da utilizzare come database predefinito per la connessione.

Se questa chiave viene specificata insieme alla chiave AttachDBFileName, il valore di questa chiave verrà utilizzato come alias. Tuttavia, se il nome è già utilizzato in un altro database collegato, la connessione avrà esito negativo.

Il percorso può essere assoluto o relativo tramite la stringa di sostituzione DataDirectory. Se si utilizza DataDirectory, il file di database deve esistere all'interno di una sottodirectory della directory a cui puntata la stringa di sostituzione.

System_CAPS_noteNota

Server remoti, HTTP e UNC non sono supportati nomi di percorso.

Il nome del database deve essere specificato con la parola chiave 'database' (o uno dei relativi alias) come illustrato di seguito:

"AttachDbFileName=|DataDirectory|\data\YourDB.mdf;integrated security=true;database=YourDatabase"

Verrà generato un errore se esiste un file di log nella stessa directory del file di dati e viene utilizzata la parola chiave 'database' quando ci si collega al file di dati primario. In questo caso, rimuovere il file di log. Una volta collegato il database, verrà automaticamente generato un nuovo file di log in base al percorso fisico.

Autenticazione

N/D

Il metodo di autenticazione usato per Connecting to SQL Database By Using Azure Active Directory Authentication.

I valori validi sono:

Password integrata, Active Directory di Active Directory, la Password di Sql.

Impostazione di crittografia di colonna

N/D

Abilita o disabilita Always Encrypted funzionalità per la connessione.

Timeout connessione

-oppure-

Timeout di connessione

-oppure-

Timeout

15

Tempo (in secondi) di attesa per una connessione al server prima di terminare il tentativo e generare un errore.

I valori validi sono quelli maggiori o uguali a 0 e minore o uguale a 2147483647.

Quando si apre una connessione a un Database di SQL Azure, è possibile impostare il timeout di connessione su 30 secondi.

Durata della connessione

-oppure-

Timeout bilanciamento del carico

0

Quando una connessione viene restituita al pool, l'ora di creazione viene confrontata con l'ora corrente e la connessione viene eliminata se l'intervallo è superiore al valore in secondi della durata della connessione specificato da Connection Lifetime. Questa è utile nelle configurazioni cluster per applicare il bilanciamento del carico tra un server in esecuzione e un server appena portato online.

Un valore pari a zero (0) fa sì che le connessioni in pool per il timeout di connessione massimo.

ConnectRetryCount

1

Controlli tenta il numero di riconnessione dopo un errore di connessione inattiva identificato dal client. I valori validi sono compresi tra 0 e 255. Il valore predefinito è 1. 0 indica che non tentano di ristabilire la connessione (resilienza delle connessioni disable).

Per ulteriori informazioni sulla resilienza delle connessioni inattive, vedere Technical Article – Idle Connection Resiliency.

ConnectRetryInterval

10

Specifica il tempo tra ogni tentativo di connessione (ConnectRetryCount). I valori validi sono 1 e 60 secondi (impostazione predefinita = 10), applicato dopo il primo tentativo di riconnessione. Quando viene rilevata una connessione interrotta, il client tenta immediatamente di riconnettersi; Questo è il primo tentativo di riconnessione e si verifica solo se ConnectRetryCount è maggiore di 0. Se il primo tentativo di riconnessione non riesce e ConnectRetryCount è maggiore di 1, il client attende ConnectRetryInterval per provare i tentativi di riconnessione successive.

Per ulteriori informazioni sulla resilienza delle connessioni inattive, vedere Technical Article – Idle Connection Resiliency.

Connessione di contesto

'false'

trueSe una connessione in-process a SQL Server devono essere eseguite.

Lingua corrente

-oppure-

Linguaggio

N/D

Imposta la lingua utilizzata per i messaggi di avviso o errore server di database.

Il nome della lingua può essere 128 caratteri o meno.

Origine dati

-oppure-

Server

-oppure-

Indirizzo

-oppure-

Addr

-oppure-

Indirizzo di rete

N/D

Il nome o indirizzo di rete dell'istanza di SQL Server a cui connettersi. Il numero di porta può essere specificato dopo il nome del server:

server=tcp:servername, portnumber

Quando si specifica un'istanza locale, utilizzare sempre (local). Per forzare un protocollo, aggiungere uno dei prefissi seguenti:

np:(local), tcp:(local), lpc:(local)

A partire da .NET Framework 4.5, è possibile inoltre connettersi a un database LocalDB come indicato di seguito:

server=(localdb)\\myInstance

Per ulteriori informazioni su LocalDB, vedere Supporto SqlClient per LocalDB.

Origine dati deve utilizzare il formato TCP o Named pipe.

Formato TCP è come segue:

  • tcp:<host name="">\<instance name=""></instance></host>

  • tcp:<host name="">,<TCP p="" port="" number=""></TCP></host>

Il formato TCP deve iniziare con il prefisso "tcp:" seguita dall'istanza del database, come specificato da un nome host e un nome di istanza. Questo formato non è applicabile per la connessione al Database SQL di Azure. TCP viene selezionata automaticamente per le connessioni al Database SQL di Azure quando viene specificato alcun protocollo.

Il nome host deve essere specificato in uno dei modi seguenti:

  • Nomenetbios

  • IPv4Address

  • IPv6Address

Il nome dell'istanza viene utilizzato per risolvere in un determinato numero di porta TCP/IP in cui è ospitata un'istanza del database. In alternativa, specificare direttamente un numero di porta TCP/IP è consentito. Se entrambi nome dell'istanza e il numero di porta non sono presenti, viene utilizzata l'istanza di database predefinita.

Il formato Named pipe è come segue:

  • NP: \ \<host name="">\pipe\<pipe name=""> </pipe> </host>

Il formato Named pipe deve iniziare con il prefisso "np:" seguita da un nome di named pipe.

Il nome host deve essere specificato in uno dei modi seguenti:

  • Nomenetbios

  • IPv4Address

  • IPv6Address

Il nome della pipe viene utilizzato per identificare l'istanza di database a cui verrà connessa l'applicazione .NET Framework.

Se il valore di rete chiave viene specificata, i prefissi "tcp:" e "np:" non deve essere specificato.

System_CAPS_noteNota

È possibile forzare l'utilizzo di TCP anziché memoria condivisa, anteponendo tcp: al nome del server nella stringa di connessione o utilizzando localhost.

Encrypt

'false'

Quando true, SQL Server utilizza la crittografia SSL per tutti i dati inviati tra client e server, se il server è installato un certificato. I valori riconosciuti sono true, false, yes e no. Per altre informazioni, vedere Sintassi della stringa di connessione.

A partire da .NET Framework 4.5, quando TrustServerCertificate è false e Encrypt è true, il server name (o indirizzo IP) in un SQL Server certificato SSL deve corrispondere esattamente il server name (o indirizzo IP) specificato nella stringa di connessione. In caso contrario, il tentativo di connessione non riuscirà. Per informazioni sul supporto per i certificati il cui soggetto inizia con un carattere jolly (*), vedere Accepted wildcards used by server certificates for server authentication.

Inserisci

'true'

trueindica che il SQL Server pool inserisce automaticamente la connessione nel contesto di transazione corrente del thread di creazione.

Partner di failover

N/D

Il nome del server partner di failover in cui è configurato il mirroring del database.

Se il valore di questa chiave è "", quindi Initial Catalog deve essere presente, e il relativo valore non deve essere "".

Il nome del server può essere 128 caratteri o meno.

Se si specifica un partner di failover, ma il server partner di failover non è configurato per il mirroring del database e il server primario (specificato con la parola chiave Server) non è disponibile, quindi la connessione avrà esito negativo.

Se si specifica un partner di failover e il server primario non è configurato per il mirroring del database, la connessione al server primario (specificata con la parola chiave Server) avrà esito positivo se il server principale è disponibile.

Catalogo iniziale

-oppure-

Database

N/D

Il nome del database.

Il nome del database può essere 128 caratteri o meno.

Sicurezza integrata

-oppure-

Trusted_Connection

'false'

Quando false, ID utente e Password vengono specificati nella connessione. Quando true, vengono utilizzate le credenziali di account di Windows corrente per l'autenticazione.

Valori riconosciuti sono true, false, yes, no, e sspi (consigliato), che equivale a true.

Se l'ID utente e Password specificati e integrato sicurezza è impostata su true, l'ID utente e Password verrà ignorata e verrà utilizzata la sicurezza integrata.

SqlCredentialspecificare le credenziali per una connessione che utilizza in modo più sicuro SQL Server autenticazione (Integrated Security=false).

Dimensione max pool

100

Il numero massimo di connessioni consentite nel pool.

I valori validi sono maggiori di o uguale a 1. I valori che sono meno Min Pool Size generano un errore.

Dimensione min pool

0

Il numero minimo di connessioni consentite nel pool.

I valori validi sono maggiori di o uguale a 0. Zero (0) in questo campo indica che nessun numero minimo di connessioni viene aperte inizialmente.

I valori maggiori di Max Pool Size generano un errore.

MultipleActiveResultSets

'false'

Quando true, l'applicazione può gestire multiple active result set (MARS). Quando false, un'applicazione deve elaborare o annullare tutti i set di risultati di un batch prima di poter eseguire qualsiasi altro batch nella connessione.

Valori riconosciuti sono true e false.

Per ulteriori informazioni, vedere Multiple Active Result Sets (MARS).

MultiSubnetFailover

FALSE

Specificare sempre multiSubnetFailover=True durante la connessione al gruppo di disponibilità disponibilità gruppo listener di un SQL Server 2012 (o versione successiva) o un SQL Server 2012 (o versione successiva) istanza Cluster di Failover. multiSubnetFailover=TrueConfigura SqlClient per fornire un rilevamento più veloce e la connessione al server attualmente attivo. I valori possibili sono Yes e No, True e False o 1 e 0. Ad esempio:

MultiSubnetFailover=True

Il valore predefinito è False. Per ulteriori informazioni sul supporto di SqlClient per sempre su estensivi, vedere Supporto SqlClient per disponibilità elevata, ripristino di emergenza.

Libreria di rete

-oppure-

Rete

-oppure-

NET

N/D

Libreria di rete utilizzata per stabilire una connessione a un'istanza di SQL Server. I valori supportati includono:

Dbnmpntw (Named Pipes)

Dbmsrpcn (Multiprotocol, RPC di Windows)

Dbmsadsn (Apple Talk)

Dbmsgnet (VIA)

dbmslpcn (Shared Memory)

dbmsspxn (IPX/SPX)

Dbmssocn (TCP/IP)

Dbmsvinn (Banyan Vines)

È necessario installare il DLL di rete corrispondente sul sistema al quale si esegue la connessione. Se non si specifica una rete e si utilizza un server locale (ad esempio, "." o "(local)"), viene utilizzata la memoria condivisa. In questo esempio la libreria della rete è Win32 Winsock TCP/IP (dbmssocn) e la porta utilizzata è 1433.

Network Library=dbmssocn;Data Source=000.000.000.000,1433;

Dimensione pacchetti

8000

Dimensioni in byte dei pacchetti di rete utilizzati per comunicare con un'istanza di SQL Server.

Le dimensioni del pacchetto possono essere maggiore o uguale a 512 e minore o uguale a 32768.

Password

-oppure-

PWD

N/D

La password per il SQL Server account di accesso. Non è consigliata. Per mantenere un elevato livello di sicurezza, è consigliabile utilizzare il Integrated Security o Trusted_Connection parola chiave alternativa. SqlCredentialspecificare le credenziali per una connessione che utilizza in modo più sicuro SQL Server l'autenticazione.

La password deve essere 128 caratteri o meno.

Persist Security Info

-oppure-

PersistSecurityInfo

'false'

Se impostato su false o no (consigliato), informazioni riservate, ad esempio la password, non viene restituite come parte della connessione se la connessione è aperta o è già stata aperta. Reimpostare la stringa di connessione Reimposta tutti i valori di stringa di connessione tra cui la password. I valori riconosciuti sono true, false, yes e no.

PoolBlockingPeriod

Auto

Imposta il comportamento del periodo di blocco per un pool di connessioni. Per informazioni dettagliate, vedere PoolBlockingPeriod Proprietà.

Pooling

'true'

Quando il valore di questa chiave è impostato su true, tutti gli oggetti appena creati connessione verrà aggiunto al pool di chiusura della finestra dall'applicazione. In un successivo tentativo di aprire la stessa connessione, la connessione verrà disegnata dal pool.

Le connessioni sono considerate uguali se hanno la stessa stringa di connessione. Connessioni diverse sono stringhe di connessione diverse.

Il valore di questa chiave può essere "true", "false", "yes" o "no".

Replica

'false'

trueSe è supportata la replica utilizzando la connessione.

Associazioni transazionali

Implicit Unbind

Controlla l'associazione della connessione con una transazione System.Transactions delle transazioni.

I possibili valori sono:

Transaction Binding=Implicit Unbind;

Transaction Binding=Explicit Unbind;

La separazione implicita provoca la disconnessione dalla transazione una volta completata. Dopo la disconnessione, vengono eseguite altre richieste nella connessione in modalità autocommit. La proprietà System.Transactions.Transaction.Current non è verificata quando si eseguono le richieste mentre la transazione è attiva. Dopo il termine della transazione, vengono eseguite altre richieste in modalità autocommit.

Se il sistema termina la transazione (nell'ambito dell'utilizzo di un blocco) prima che venga completato l'ultimo comando, verrà generata InvalidOperationException.

La separazione esplicita consente la connessione rimane collegata alla transazione fino a quando la connessione viene chiusa o esplicita SqlConnection.TransactionEnlist(null) viene chiamato. A partire da .NET Framework 4, le modifiche per annullare l'associazione implicita rendono esplicita disassociare obsoleto. Viene generata un'eccezione InvalidOperationException se Transaction.Current non è la transazione integrata o se la transazione integrata non è attiva.

TransparentNetworkIPResolution

Vedere la descrizione.

Quando il valore di questa chiave è impostato su true, l'applicazione è necessaria per recuperare tutti gli indirizzi IP per una particolare voce DNS e tenta la connessione con il primo nell'elenco. Se la connessione non viene stabilita all'interno di 0,5 secondi, l'applicazione tenterà di connettersi a tutti gli altri in parallelo. Quando si risponde al primo, l'applicazione stabilirà la connessione con l'indirizzo IP partecipante.

Se il MultiSubnetFailover chiave è impostata su true, TransparentNetworkIPResolution viene ignorato.

Se il Failover Partner chiave è impostata, TransparentNetworkIPResolution viene ignorato.

Il valore di questa chiave deve essere true, false, yes, o no.

Il valore yes viene trattato come un valore di true.

Il valore no viene trattato come un valore di false.

I valori predefiniti sono come segue:

  • falseQuando:

    • La connessione al Database SQL di Azure in cui l'origine dati termina con:

      • .database.chinacloudapi.cn

      • .database.usgovcloudapi.net

      • .database.cloudapi.de

      • .database.windows.net

    • Authenticationè 'Password di Active Directory' o 'Active Directory Integrated'

  • true in tutti gli altri casi.

TrustServerCertificate

'false'

Se impostato su true, viene utilizzato SSL per crittografare il canale ignorando l'analisi della catena di certificati per convalidare l'attendibilità. Se TrustServerCertificate è impostata su true ed Encrypt è impostata su false, il canale non crittografato. I valori riconosciuti sono true, false, yes e no. Per altre informazioni, vedere Sintassi della stringa di connessione.

Type System Version

N/D

Valore stringa che indica il tipo di sistema prevista dall'applicazione. Le funzionalità disponibili per un'applicazione client dipende dalla versione di SQL Server e il livello di compatibilità del database. Impostare in modo esplicito la versione di sistema di tipi che è stata scritta l'applicazione client per evitare potenziali problemi che potrebbe causare l'interruzione se una versione diversa di un'applicazione SQL Server viene utilizzato.

System_CAPS_noteNota

La versione del sistema di tipi non può essere impostata per il codice CLR (Common Language Runtime) in esecuzione in-process in SQL Server. Per altre informazioni, vedere Integrazione CLR (Common Language Runtime) per SQL Server.

I possibili valori sono:

Type System Version=SQL Server 2012;

Type System Version=SQL Server 2008;

Type System Version=SQL Server 2005;

Type System Version=Latest;

Type System Version=SQL Server 2012;Specifica che l'applicazione richiede la versione 11.0.0.0 di Microsoft.SqlServer.Types.dll. L'altro Type System Version impostazioni richiederà versione 10.0.0.0 di Microsoft.SqlServer.Types.dll.

Latestè obsoleto e non deve essere utilizzato. Latest è equivalente a Type System Version=SQL Server 2008;.

ID utente

-oppure-

UID

-oppure-

N/D

Il SQL Server account di accesso. Non è consigliata. Per mantenere un elevato livello di sicurezza, è consigliabile utilizzare il Integrated Security o Trusted_Connection parole chiave alternativa. SqlCredentialspecificare le credenziali per una connessione che utilizza in modo più sicuro SQL Server l'autenticazione.

L'ID utente deve essere 128 caratteri o meno.

Istanza utente

'false'

Un valore che indica se reindirizzare la connessione da quello predefinito SQL Server Express istanza a un'istanza avviata runtime in esecuzione con l'account del chiamante.

ID Workstation

-oppure-

WSID

Il nome del computer locale

Il nome della workstation connessa a SQL Server.

L'ID deve essere 128 caratteri o meno.

Nell'elenco seguente contiene i nomi validi per i valori all'interno del pool di connessioni di ConnectionString. Per altre informazioni, vedere Pool di connessioni di SQL Server (ADO.NET).

  • Durata della connessione (o Load Balance Timeout)

  • Inserisci

  • Dimensione max pool

  • Dimensione min pool

  • Pooling

Quando si imposta una parola chiave o valori che richiedono un valore booleano di pool di connessioni, è possibile utilizzare 'Sì' anziché 'true' e 'no' anziché 'false'. I valori integer sono rappresentati come stringhe.

System_CAPS_noteNota

Il provider di dati .NET Framework per SQL Server utilizza un protocollo interno per comunicare con SQL Server. Pertanto, non supporta l'utilizzo di un nome di origine dati ODBC (DSN) quando ci si connette a SQL Server perché non aggiunge un livello ODBC.

System_CAPS_noteNota

File Universal data link (UDL) non sono supportati per il .NET Framework Provider di dati per SQL Server.

System_CAPS_cautionAttenzione

In questa versione, l'applicazione deve prestare attenzione quando si costruisce una stringa di connessione basata sull'input dell'utente (ad esempio durante il recupero di informazioni sull'ID e la password utente da una finestra di dialogo e aggiungerlo alla stringa di connessione). L'applicazione deve verificare che un utente non è possibile incorporare i parametri di stringa di connessione aggiuntive in questi valori (ad esempio, immettere una password come "validpassword; database = somedb" nel tentativo di connettersi a un database diverso). Se è necessario costruire stringhe di connessione basate sull'input dell'utente, usare il nuovo SqlConnectionStringBuilder, che convalida la stringa di connessione e consente di eliminare questo problema. Per altre informazioni, vedere Compilatori di stringhe di connessione.

Nell'esempio seguente viene creato un SqlConnection e imposta il ConnectionString proprietà prima di aprire la connessione.

private static void OpenSqlConnection()
{
    string connectionString = GetConnectionString();

    using (SqlConnection connection = new SqlConnection())
    {
        connection.ConnectionString = connectionString;

        connection.Open();

        Console.WriteLine("State: {0}", connection.State);
        Console.WriteLine("ConnectionString: {0}",
            connection.ConnectionString);
    }
}

static private string GetConnectionString()
{
    // To avoid storing the connection string in your code, 
    // you can retrieve it from a configuration file.
    return "Data Source=MSSQL1;Initial Catalog=AdventureWorks;"
        + "Integrated Security=true;";
}

.NET Framework
Disponibile da 1.1
Torna all'inizio
Mostra: