Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto manualmente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Sintassi della stringa di connessione

Ogni provider di dati .NET Framework include un oggetto Connection che eredita da DbConnection oltre a una proprietà ConnectionString specifica del provider. La sintassi della stringa di connessione specifica per ogni provider è documentata in questa proprietà ConnectionString. Nella tabella seguente sono elencati i quattro provider di dati inclusi in .NET Framework.

Provider di dati .NET Framework

Descrizione

System.Data.SqlClient

Consente l'accesso ai dati per Microsoft SQL Server. Per ulteriori informazioni sulla sintassi della stringa di connessione, vedere ConnectionString.

System.Data.OleDb

Offre accesso ai dati per le origini dati esposte tramite OLE DB. Per ulteriori informazioni sulla sintassi della stringa di connessione, vedere ConnectionString.

System.Data.Odbc

Offre accesso ai dati per le origini dati esposte tramite ODBC. Per ulteriori informazioni sulla sintassi della stringa di connessione, vedere ConnectionString.

System.Data.OracleClient

Offre accesso ai dati per Oracle 8.1.7 o versione successiva. Per ulteriori informazioni sulla sintassi della stringa di connessione, vedere ConnectionString.

In ADO.NET 2.0 sono stati introdotti i generatori di stringhe di connessione seguenti per i provider di dati .NET Framework.

I generatori di stringhe di connessione consentono di costruire stringhe di connessione sintatticamente valide in fase di esecuzione, pertanto non è necessario concatenare manualmente i valori delle stringhe di connessione nel codice. Per ulteriori informazioni, vedere Compilatori di stringhe di connessione.

Si consiglia di utilizzare l'autenticazione di Windows (definita anche sicurezza integrata) per connettersi alle origini dati che la supportano. La sintassi utilizzata nella stringa di connessione varia a seconda del provider. Nella tabella seguente è illustrata la sintassi dell'autenticazione di Windows utilizzata con i provider di dati .NET Framework.

Provider

Sintassi

SqlClient

Integrated Security=true;

-- or --

Integrated Security=SSPI;

OleDb

Integrated Security=SSPI;

Odbc

Trusted_Connection=yes;

OracleClient

Integrated Security=yes;

Nota Nota

Integrated Security=true genera un'eccezione se utilizzata con il provider OleDb.

La sintassi per una stringa di connessione SqlConnection è documentata nella proprietà SqlConnection.ConnectionString. È possibile utilizzare la proprietà ConnectionString per ottenere o impostare una stringa di connessione per un database di SQL Server. Per eseguire la connessione a una versione precedente di SQL Server, è necessario utilizzare il provider di dati .NET Framework per OleDb (System.Data.OleDb). La maggior parte delle parole chiave delle stringhe di connessione sono inoltre mappate alle proprietà dell'oggetto SqlConnectionStringBuilder.

Con tutti i tipi di sintassi seguenti verrà utilizzata l'autenticazione di Windows per stabilire la connessione al database AdventureWorks su un server locale.

"Persist Security Info=False;Integrated Security=true;
    Initial Catalog=AdventureWorks;Server=MSSQL1"
"Persist Security Info=False;Integrated Security=SSPI;
    database=AdventureWorks;server=(local)"
"Persist Security Info=False;Trusted_Connection=True;
    database=AdventureWorks;server=(local)"

ms254500.collapse_all(it-it,VS.110).gifAccount di accesso di SQL Server

L'autenticazione di Windows è il sistema consigliato per le connessioni a SQL Server.Se tuttavia è necessario utilizzare l'autenticazione di SQL Server, utilizzare la sintassi seguente per specificare un nome utente e una password.In questo esempio per rappresentare un nome utente e una password validi vengono utilizzati asterischi.

"Persist Security Info=False;User ID=*****;Password=*****;Initial Catalog=AdventureWorks;Server=MySqlServer"
Nota sulla sicurezzaNota sulla sicurezza

L'impostazione predefinita per la parola chiave PersistSecurity Info è false.Impostandola su true o yes, è possibile ottenere informazioni sensibili, compresi l'ID utente e la password, dalla connessione dopo che questa è stata aperta.Mantenere PersistSecurity Info impostata su false per assicurarsi che le origini non attendibili non abbiano accesso a informazioni sensibili sulle stringhe di connessione.

Per connettersi a un'istanza denominata di SQL Server, utilizzare la sintassi server name\instance name.

Data Source=MySqlServer\MSSQL1;"

È anche possibile impostare la proprietà DataSource di SqlConnectionStringBuilder sul nome dell'istanza quando si compila una stringa di connessione.La proprietà DataSource di un oggetto SqlConnection è di sola lettura.

NotaNota

L'autenticazione di Windows ha la precedenza sugli account di accesso di SQL Server.Se si specifica sia Integrated Security=true sia un nome utente e una password, questi ultimi saranno ignorati e sarà utilizzata l'autenticazione di Windows.

ms254500.collapse_all(it-it,VS.110).gifModifiche alla versione del sistema di tipi

La parola chiave Type System Version in SqlConnection.ConnectionString specifica la rappresentazione lato client dei tipi di SQL Server.Per ulteriori informazioni sulla parola chiave Type System Version, vedere SqlConnection.ConnectionString.

Le istanze utente sono una funzionalità di SQL Server Express. consentono a un utente che utilizza un account di Windows locale con privilegi minimi di collegarsi ed eseguire un database SQL Server senza la necessità di privilegi amministrativi. Un'istanza utente viene eseguita con le credenziali di Windows dell'utente, non come un servizio.

Per ulteriori informazioni sull'utilizzo delle istanze utente, vedere Istanze utente di SQL Server Express.

La parola chiave TrustServerCertificate è valida solo quando ci si connette a un'istanza di SQL Server con un certificato valido. Se TrustServerCertificate è impostata su true, il livello trasporto utilizzerà SSL per crittografare il canale e ignorerà l'analisi della catena di certificati per la convalida dell'attendibilità.

"TrustServerCertificate=true;" 
NotaNota

Se TrustServerCertificate è impostata su true e la crittografia è attivata, il livello di crittografia specificato nel server verrà utilizzato anche se Encrypt è impostato su false nella stringa di connessione.In caso contrario, la connessione non riuscirà.

ms254500.collapse_all(it-it,VS.110).gifAttivazione della crittografia

Per attivare la crittografia quando non è stato eseguito il provisioning di un certificato nel server, è necessario che le opzioni Forza crittografia protocollo e Considera attendibile certificato server siano impostate in Gestione configurazione SQL Server.In questo caso, la crittografia utilizzerà un certificato server autofirmato senza convalida se nel server non è stato eseguito il provisioning di alcun certificato verificabile.

Le impostazioni delle applicazioni non possono ridurre il livello di sicurezza configurato in SQL Server, ma facoltativamente possono potenziarlo.Un'applicazione può richiedere la crittografia impostando le parole chiave TrustServerCertificate e Encrypt su true, garantendo che la crittografia venga applicata anche quando non è stato eseguito il provisioning di un certificato server e l'opzione Forza crittografia protocollo non è stata configurata per il client.Tuttavia, se TrustServerCertificate non è attivata nella configurazione client, è comunque necessario il provisioning di un certificato server.

Nella tabella seguente sono descritti tutti i casi.

Impostazione client Forza crittografia protocollo

Impostazione client Considera attendibile certificato server

Attributo/stringa di connessione Encrypt/Use Encryption for Data

Attributo/stringa di connessione Trust Server Certificate

Risultato

No

N/D

No (impostazione predefinita)

Ignorato

Nessuna crittografia.

No

N/D

No (impostazione predefinita)

La crittografia viene applicata solo se è disponibile un certificato server verificabile; in caso contrario, il tentativo di connessione non riesce.

No

N/D

La crittografia viene applicata solo se è disponibile un certificato server verificabile; in caso contrario, il tentativo di connessione non riesce.

No

Ignorato

Ignorato

La crittografia viene applicata solo se è disponibile un certificato server verificabile; in caso contrario, il tentativo di connessione non riesce.

No (impostazione predefinita)

Ignorato

La crittografia viene applicata solo se è disponibile un certificato server verificabile; in caso contrario, il tentativo di connessione non riesce.

No (impostazione predefinita)

La crittografia viene applicata solo se è disponibile un certificato server verificabile; in caso contrario, il tentativo di connessione non riesce.

La crittografia viene applicata solo se è disponibile un certificato server verificabile; in caso contrario, il tentativo di connessione non riesce.

Per ulteriori informazioni, vedere Utilizzo della crittografia senza convalida nella documentazione online di SQL Server.

La proprietà ConnectionString di un oggetto OleDbConnection consente di ottenere o impostare una stringa di connessione per un'origine dati OLE DB quale Microsoft Access. È anche possibile creare una stringa di connessione OleDb in fase di esecuzione utilizzando la classe OleDbConnectionStringBuilder.

ms254500.collapse_all(it-it,VS.110).gifSintassi della stringa di connessione OleDb

È necessario specificare il nome di un provider per una stringa di connessione OleDbConnection. La seguente stringa di connessione consente di connettersi a un database Microsoft Access utilizzando il provider Jet. Si noti che le parole chiave UserID e Password sono facoltative se il database non è protetto (impostazione predefinita).

Provider=Microsoft.Jet.OLEDB.4.0; Data Source=d:\Northwind.mdb;User ID=Admin;Password=; 

Se il database Jet è protetto tramite sicurezza a livello utente, è necessario specificare il percorso del file di informazioni sul gruppo di lavoro, con estensione mdw.Il file di informazioni sul gruppo di lavoro viene utilizzato per convalidare le credenziali fornite nella stringa di connessione.

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\Northwind.mdb;Jet OLEDB:System Database=d:\NorthwindSystem.mdw;User ID=*****;Password=*****;
Nota sulla sicurezzaNota sulla sicurezza

È possibile fornire informazioni di connessione per un oggetto OleDbConnection in un file UDL (Universal Data Link). Si consiglia, tuttavia, di evitare questa procedura.I file UDL non sono crittografati, pertanto espongono le informazioni nella stringa di connessione come testo non crittografato.Poiché per l'applicazione si tratta di una risorsa esterna basata su file, un file UDL non può essere protetto tramite .NET Framework.I file UDL non sono supportati per SqlClient.

ms254500.collapse_all(it-it,VS.110).gifUtilizzo di DataDirectory per la connessione a Access/Jet

DataDirectory non è riservata esclusivamente a SqlClient. Può essere utilizzata anche con i provider di dati .NET System.Data.OleDb e System.Data.Odbc. Nell'esempio seguente la stringa OleDbConnection indica la sintassi richiesta per connettersi al database Northwind.mdb situato nella cartella app_data dell'applicazione. In tale percorso è archiviato anche il database di sistema (System.mdw).

"Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=|DataDirectory|\Northwind.mdb;
Jet OLEDB:System Database=|DataDirectory|\System.mdw;"
Nota sulla sicurezzaNota sulla sicurezza

Se il database Acces/Jet non è protetto, non è necessario specificare il percorso del database di sistema nella stringa di connessione.La sicurezza è disattivata per impostazione predefinita, con tutti gli utenti che si connettono come utente Admin incorporato con una password vuota.Anche quando la sicurezza a livello di utente è implementata correttamente, un database Jet rimane vulnerabile agli attacchi.Pertanto, considerando la debolezza intrinseca dello schema di sicurezza basato su file dei database Access/Jet, si sconsiglia di archiviare informazioni sensibili in tali database.

ms254500.collapse_all(it-it,VS.110).gifConnessione a Excel

Il provider Microsoft Jet viene utilizzato per la connessione a una cartella di lavoro Excel. Nella seguente stringa di connessione la parola chiave Extended Properties imposta le proprietà specifiche di Excel. " HDR=Yes;" indica che la prima riga contiene nomi di colonne e non dati, mentre "IMEX=1;" indica al driver di leggere sempre come testo colonne di dati misti.

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\MyExcel.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1""

Si noti che le virgolette doppie richieste per Extended Properties devono essere racchiuse a loro volta tra virgolette doppie.

ms254500.collapse_all(it-it,VS.110).gifSintassi della stringa di connessione di Data Shape Provider

Con il provider Microsoft Data Shape Provider, utilizzare le parole chiave Provider e Data Provider. Nell'esempio seguente viene utilizzato il provider Shape per eseguire la connessione a un'istanza locale di SQL Server.

"Provider=MSDataShape;Data Provider=SQLOLEDB;Data Source=(local);Initial Catalog=pubs;Integrated Security=SSPI;" 

La proprietà ConnectionString di un oggetto OdbcConnection consente di ottenere o impostare una stringa di connessione per un'origine dati OLE DB. Le stringhe di connessione ODBC sono supportate anche da OdbcConnectionStringBuilder.

Nella seguente stringa di connessione viene utilizzato il driver Microsoft per file di testo.

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

ms254500.collapse_all(it-it,VS.110).gifUtilizzo di DataDirectory per la connessione a Visual FoxPro

Nell'esempio di stringa di connessione OdbcConnection seguente viene illustrato l'utilizzo di DataDirectory per eseguire la connessione a un file di Microsoft Visual FoxPro.

"Driver={Microsoft Visual FoxPro Driver};
SourceDB=|DataDirectory|\MyData.DBC;SourceType=DBC;"

La proprietà ConnectionString di un oggetto OracleConnection consente di ottenere o impostare una stringa di connessione per un'origine dati OLE DB. Le stringhe di connessione Oracle sono supportate anche da OracleConnectionStringBuilder.

Data Source=Oracle9i;User ID=*****;Password=*****;

Per ulteriori informazioni sulla sintassi delle stringhe di connessione ODBC, vedere ConnectionString.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2014 Microsoft