Utilizzo delle parole chiave delle stringhe di connessione con SQL Server Native Client

Si applica a:SQL ServerDatabase SQL diAzure Istanzagestita di SQL di Azure Azure Synapse Analytics PlatformSystem (PDW)

Importante

SQL Server Native Client (spesso abbreviato SNAC) è stato rimosso da SQL Server 2022 (16.x) e SQL Server Management Studio 19 (SSMS). SQL Server Native Client (SQLNCLI o SQLNCLI11) e il provider Microsoft OLE DB legacy per SQL Server (SQLOLEDB) non sono consigliati per lo sviluppo di nuove applicazioni. Passare al nuovo Microsoft OLE DB Driver (MSOLEDBSQL) per SQL Server o alla versione più recente di Microsoft ODBC Driver per SQL Server . Per SQLNCLI fornito come componente del motore di database di SQL Server (versioni da 2012 a 2019), vedere questa eccezione relativa al ciclo di vita del supporto.

Alcune API di SQL Server Native Client usano stringhe di connessione per specificare gli attributi di connessione. Le stringhe di connessione sono elenchi di parole chiave con i relativi valori associati. Ogni parola chiave identifica un particolare attributo di connessione.

Per informazioni, vedere Uso delle parole chiave della stringa di connessione con OLE DB Driver per SQL Server.

Nota

SQL Server Native Client consente l'ambiguità nelle stringhe di connessione per mantenere la compatibilità con le versioni precedenti, ad esempio alcune parole chiave possono essere specificate più volte e le parole chiave in conflitto possono essere consentite con risoluzione in base alla posizione o alla precedenza. È consigliabile modificare le applicazioni per usare SQL Server Native Client per eliminare eventuali dipendenze dall'ambiguità delle stringhe di connessione.

Le sezioni seguenti descrivono le parole chiave che possono essere usate con il provider OLE DB di SQL Server Native Client, il driver ODBC di SQL Server Native Client e ActiveX Data Objects (ADO) quando si usa SQL Server Native Client come provider di dati.

Parole chiave delle stringhe di connessione per il driver ODBC

Le applicazioni ODBC usano stringhe di connessione come parametri per le funzioni SQLDriverConnect e SQLBrowseConnect.

Le stringhe di connessione utilizzate da ODBC presentano la sintassi seguente:

connection-string ::= empty-string[;] | attribute[;] | attribute; connection-string

empty-string ::=

attribute ::= attribute-keyword=[{]attribute-value[}]

attribute-value ::= character-string

attribute-keyword ::= identifier

È consigliabile racchiudere i valori di attributo tra parentesi graffe per evitare i problemi determinati dalla presenza di caratteri non alfanumerici nei valori di attributo. Poiché si suppone che la prima parentesi graffa chiusa indichi la fine del valore, l'uso di tali parentesi nei valori non è consentito.

Nella tabella seguente vengono descritte le parole chiave che possono essere utilizzate con una stringa di connessione ODBC.

Parola chiave Descrizione
Addr Sinonimo di "Address".
Indirizzo Indirizzo di rete del server che esegue un'istanza di SQL Server. Address è in genere il nome di rete del server, ma può corrispondere ad altri nomi, ad esempio una pipe, un indirizzo IP o un indirizzo socket e una porta TCP/IP.

Se si specifica un indirizzo IP, assicurarsi che i protocolli TCP/IP o Named Pipes siano abilitati in Gestione configurazione SQL Server.

Il valore di Address ha la precedenza sul valore passato a Server nelle stringhe di connessione ODBC quando si usa SQL Server Native Client. Tenere anche presente che, se si specifica Address=;, verrà stabilita una connessione al server specificato nella parola chiave Server, mentre, se si specifica Address= ;, Address=.;, Address=localhost; e Address=(local);, verrà stabilita una connessione al server locale.

La sintassi completa per la parola chiave Address è la seguente:

[protocol:]Address[,port |\pipe\pipename]

protocol può essere tcp (TCP/IP), lpc (memoria condivisa) o np (named pipe). Per altre informazioni sui protocolli, vedere Configurazione di protocolli client.

Se non viene specificato alcun protocollo né la parola chiave Network, SQL Server Native Client userà l'ordine di protocollo specificato in Gestione configurazione SQL Server.

port indica la porta a cui connettersi nel server specificato. Per impostazione predefinita, SQL Server usa la porta 1433.
AnsiNPW Se l'opzione è impostata su "yes", nel driver vengono utilizzati i comportamenti definiti da ANSI per la gestione dei confronti NULL, del riempimento dei dati di tipo carattere, degli avvisi e della concatenazione NULL. Se impostata su "no", i comportamenti definiti da ANSI non vengono esposti. Per altre informazioni sui comportamenti NPW ANSI, vedere Effetti delle opzioni ISO.
APP Nome dell'applicazione che chiama SQLDriverConnect (facoltativo). Se specificato, questo valore viene archiviato nella colonna master.dbo.sysprocesses program_name e viene restituito da sp_who e dalle funzioni di APP_NAME.
ApplicationIntent Dichiara il tipo di carico di lavoro dell'applicazione in caso di connessione a un server. I valori possibili sono ReadOnly e ReadWrite. Il valore predefinito è ReadWrite. Ad esempio:

ApplicationIntent=ReadOnly

Per altre informazioni sul supporto di SQL Server Native Client per i gruppi di disponibilità AlwaysOn, vedere Supporto di SQL Server Native Client per la disponibilità elevata, ripristino di emergenza.
AttachDBFileName Nome del file primario di un database collegabile. Includere il percorso completo e utilizzare la sequenza di escape dei caratteri \ se si utilizza una variabile di tipo stringa di caratteri C:

AttachDBFileName=c:\\MyFolder\\MyDB.mdf

Questo database viene collegato e diventa il database predefinito per la connessione. Per usare AttachDBFileName è necessario specificare anche il nome del database nel parametro SQLDriverConnect DATABASE o nell'attributo di connessione SQL_COPT_CURRENT_CATALOG. Se il database è stato collegato in precedenza, SQL Server non lo ricollega; usa il database collegato come predefinito per la connessione.
AutoTranslate Se impostata su "yes", le stringhe di caratteri ANSI inviate tra il client e il server vengono convertite in Unicode per ridurre al minimo i problemi di corrispondenza dei caratteri estesi tra le tabelle codici sul client e sul server.

Il client SQL_C_CHAR dati inviati a una variabile di tipo char, varchar o text di SQL Server, parametro o colonna viene convertito da carattere a Unicode usando la tabella codici ANSI client (ACP), quindi convertita da Unicode a carattere usando l'ACP del server.

I dati char, varchar o text di SQL Server inviati a un client SQL_C_CHAR variabile vengono convertiti da carattere a Unicode usando il server ACP, quindi convertiti da Unicode a carattere usando l'ACP client.

Queste conversioni vengono eseguite sul client dal driver ODBC di SQL Server Native Client. e richiedono che sul client sia disponibile la stessa tabella codici ANSI (ACP) utilizzata sul server.

Queste impostazioni non influiscono sulle conversioni eseguite per i trasferimenti seguenti:

* Unicode SQL_C_WCHAR dati client inviati a char, varchar o text nel server.

* dati del server char, varchar o text inviati a una variabile di SQL_C_WCHAR Unicode nel client.

* ANSI SQL_C_CHAR dati client inviati a Unicode nchar, nvarchar o ntext nel server.

* Dati del server nchar, nvarchar o ntext inviati a una variabile SQL_C_CHAR ANSI nel client.

Se impostata su "no", la conversione dei caratteri non viene eseguita.

Il driver ODBC di SQL Server Native Client non converte il carattere ANSI del client SQL_C_CHAR i dati inviati a variabili, variabili di testo, varchar o testo nel server. Nessuna traduzione viene eseguita su dati char, varchar o di testo inviati dal server a SQL_C_CHAR variabili nel client.

Se il client e SQL Server usano ACL diversi, è possibile che i caratteri estesi vengano interpretati in modo non corretto.
Database Nome del database SQL Server predefinito per la connessione. Se database non viene specificato, viene utilizzato il database predefinito definito per l'account di accesso. Il database predefinito dell'origine dati ODBC esegue l'override del database predefinito specificato per l'accesso. Il database deve essere un database esistente, a meno che non sia specificato anche AttachDBFileName . Se viene specificato anche AttachDBFileName , il file primario a cui punta viene collegato e dato il nome del database specificato da Database.
Driver Nome del driver restituito da SQLDrivers. Il valore della parola chiave per il driver ODBC di SQL Server Native Client è "{SQL Server Native Client 11.0}". La parola chiave Server è obbligatoria se viene specificato Driver e DriverCompletion è impostato su SQL_DRIVER_NOPROMPT.

Per altre informazioni sui nomi dei driver, vedere Uso dei file di libreria e dell'intestazione di SQL Server Native Client.
DSN Nome di un'origine dati di sistema o di un utente ODBC esistente. Questa parola chiave esegue l'override di tutti i valori che possono essere specificati nelle parole chiave Server, Network e Address .
Encrypt Specifica se i dati devono essere crittografati prima del relativo invio in rete. I valori possibili sono "yes"/"mandatory"(18.0+), "no"/"optional"(18.0+) e "strict"(18.0+). Il valore predefinito è "sì" nella versione 18.0+ e "no" nelle versioni precedenti.
Fallback Questa parola chiave è deprecata e l'impostazione viene ignorata dal driver ODBC di SQL Server Native Client.
Failover_Partner Nome del server partner di failover da utilizzare se non è possibile stabilire una connessione al server primario.
FailoverPartnerSPN Nome SPN del partner di failover. Il valore predefinito è una stringa vuota. Una stringa vuota fa sì che SQL Server Native Client usi il nome SPN predefinito generato dal driver.
FileDSN Nome di un'origine dati dei file ODBC esistente.
Lingua Nome della lingua di SQL Server (facoltativo). SQL Server può archiviare messaggi per più lingue in sysmessages. Se ci si connette a SQL Server con più lingue, Language specifica quale set di messaggi viene usato per la connessione.
MARS_Connection Abilita o disabilita MARS (Multiple Active Result Sets) nella connessione. I valori riconosciuti sono "yes" e "no". Il valore predefinito è "no".
MultiSubnetFailover Specificare sempre multiSubnetFailover=Sì durante la connessione al listener del gruppo di disponibilità di un gruppo di disponibilità di SQL Server o di un'istanza del cluster di failover di SQL Server. multiSubnetFailover=Yes configura SQL Server Native Client per fornire un rilevamento e una connessione più veloci al server attivo (attualmente). I valori possibili sono e No. Il valore predefinito è No. Ad esempio:

MultiSubnetFailover=Yes

Per altre informazioni sul supporto di SQL Server Native Client per i gruppi di disponibilità AlwaysOn, vedere Supporto di SQL Server Native Client per la disponibilità elevata, ripristino di emergenza.
Net Sinonimo di "Network".
Rete I valori validi sono dbnmpntw (named pipe) e dbmssocn (TCP/IP).

Si tratta di un errore per specificare sia un valore per la parola chiave Network che un prefisso del protocollo nella parola chiave Server .
PWD Password per l'account di accesso di SQL Server specificato nel parametro UID. Non è necessario specificare PWD se l'account di accesso ha una password NULL o quando si usa l'autenticazione di Windows (Trusted_Connection = yes).
QueryLog_On Se impostata su "yes", la registrazione dei dati di query con esecuzione prolungata viene abilitata per la connessione. Se impostata su "no", i dati di query con esecuzione prolungata non vengono registrati.
QueryLogFile Nome e percorso completo di un file da utilizzare per registrare dati nelle query con esecuzione prolungata.
QueryLogTime Stringa di cifre che specifica la soglia (in millisecondi) per la registrazione delle query con esecuzione prolungata. Tutte le query che non ottengono una risposta nell'intervallo di tempo specificato vengono scritte nel file di log delle query con esecuzione prolungata.
QuotedId Quando "sì", QUOTED_IDENTIFIERS è impostato su ON per la connessione, SQL Server usa le regole ISO relative all'uso delle virgolette nelle istruzioni SQL. Se impostata su no, QUOTED_IDENTIFIERS viene impostata su OFF per la connessione. SQL Server segue quindi le regole Transact-SQL legacy relative all'uso delle virgolette nelle istruzioni SQL. Per altre informazioni, vedere Effetti delle opzioni ISO.
Regional Quando "sì", il driver ODBC di SQL Server Native Client usa le impostazioni client durante la conversione di dati di valuta, data e ora in dati di tipo carattere. La conversione viene eseguita in una sola direzione. Il driver non riconosce i formati standard non ODBC per le stringhe di data o i valori di valuta all'interno, ad esempio, di un parametro utilizzato in un'istruzione INSERT o UPDATE. Se impostata su "no", nel driver vengono utilizzate le stringhe standard ODBC per rappresentare i dati di valuta, data e ora convertiti in dati di tipo carattere.
SaveFile Nome di un file di origine dati ODBC nel quale vengono salvati gli attributi della connessione corrente se la connessione riesce.
Server Nome di un'istanza di SQL Server. Il valore deve corrispondere al nome di un server nella rete, a un indirizzo IP o al nome di un alias di Gestione configurazione SQL Server.

La parola chiave Address sostituisce la parola chiave Server.

È possibile connettersi all'istanza predefinita nel server locale specificando uno dei valori seguenti:

Server=;

Server=.;

Server=(local);

Server=(local);

Server=(localhost);

Server=(localdb)\instancename;

Per altre informazioni sul supporto di LocalDB, vedere Supporto di SQL Server Native Client per LocalDB.

Per specificare un'istanza denominata di SQL Server, aggiungere \InstanceName.

Se non viene specificato un server, viene stabilita una connessione all'istanza predefinita nel computer locale.

Se si specifica un indirizzo IP, assicurarsi che i protocolli TCP/IP o Named Pipes siano abilitati in Gestione configurazione SQL Server.

La sintassi completa per la parola chiave Server è la seguente:

Server=[protocollo:]Server[,porta]

protocol può essere tcp (TCP/IP), lpc (memoria condivisa) o np (named pipe).

Nell'esempio seguente si illustra come specificare una named pipe:

np:\\.\pipe\MSSQL$MYINST01\sql\query

Questa riga specifica il protocollo named pipe, una named pipe nel computer locale (\\.\pipe), il nome dell'istanza di SQL Server (MSSQL$MYINST01) e il nome predefinito della named pipe (sql/query).

Se non viene specificato alcun protocollo né la parola chiave Network, SQL Server Native Client userà l'ordine di protocollo specificato in Gestione configurazione SQL Server.

port indica la porta a cui connettersi nel server specificato. Per impostazione predefinita, SQL Server usa la porta 1433.

Gli spazi vengono ignorati all'inizio del valore passato a Server nelle stringhe di connessione ODBC quando si usa SQL Server Native Client.
ServerSPN Nome SPN del server. Il valore predefinito è una stringa vuota. Una stringa vuota fa sì che SQL Server Native Client usi il nome SPN predefinito generato dal driver.
StatsLog_On Quando "sì", abilita l'acquisizione dei dati sulle prestazioni del driver ODBC di SQL Server Native Client. Se "no", i dati sulle prestazioni del driver ODBC di SQL Server Native Client non sono disponibili nella connessione.
StatsLogFile Percorso completo e nome file di un file usato per registrare le statistiche sulle prestazioni del driver ODBC di SQL Server Native Client.
Trusted_Connection Quando "sì", indica al driver ODBC di SQL Server Native Client di usare la modalità di autenticazione di Windows per la convalida dell'accesso. In caso contrario, indica al driver ODBC di SQL Server Native Client di usare un nome utente e una password di SQL Server per la convalida dell'accesso e le parole chiave UID e PWD devono essere specificate.
TrustServerCertificate Se usato con Encrypt, abilita la crittografia usando un certificato server autofirmato.
UID Un account di accesso di SQL Server valido. Quando si utilizza l'autenticazione di Windows non è necessario specificare l'UID.
UseProcForPrepare Questa parola chiave è deprecata e la relativa impostazione viene ignorata dal driver ODBC di SQL Server Native Client.
WSID ID della workstation. In genere, si tratta del nome di rete del computer nel quale risiede l'applicazione (facoltativo). Se specificato, questo valore viene archiviato nel nome host della colonna master.dbo.sysprocesses e viene restituito da sp_who e dalla funzione HOST_NAME.

Nota

Ai dati di tipo valuta, numerico, data e ora vengono applicate le impostazioni di conversione internazionali. L'impostazione di conversione è applicabile solo alla conversione di output ed è visibile solo quando i valori di valuta, data, ora o numerici vengono convertiti in stringhe di caratteri.

Il driver ODBC di SQL Server Native Client usa le impostazioni del Registro di sistema delle impostazioni locali per l'utente corrente. Il driver non rispetta le impostazioni locali del thread corrente se l'applicazione la imposta dopo la connessione, ad esempio chiamando SetThreadLocale.

La modifica del comportamento internazionale di un'origine dati può generare un errore nell'applicazione. Un'applicazione che analizza le stringhe relative alla data e ne prevede la visualizzazione in base a quanto definito da ODBC, potrebbe essere influenzata negativamente dalla modifica di questo valore.

Parole chiave delle stringhe di connessione per il provider OLE DB

Quando si utilizzano le applicazioni OLE DB, è possibile inizializzare gli oggetti origine dati in due modi diversi:

  • IDBInitialize::Initialize

  • IDataInitialize::GetDataSource

Nel primo caso è possibile utilizzare una stringa del provider per inizializzare le proprietà di connessione impostando la proprietà DBPROP_INIT_PROVIDERSTRING nel set di proprietà DBPROPSET_DBINIT. Nel secondo caso è possibile passare una stringa di inizializzazione al metodo IDataInitialize::GetDataSource per inizializzare le proprietà di connessione. Entrambi i metodi inizializzano le stesse proprietà di connessione OLE DB, sebbene con set di parole chiave differenti. Il set di parole chiave usato con IDataInitialize::GetDataSource rappresenta almeno la descrizione delle proprietà contenute nel gruppo delle proprietà di inizializzazione.

Per qualsiasi impostazione di stringa del provider con una proprietà OLE DB corrispondente impostata su un valore predefinito o impostata in modo esplicito su un valore, tramite il valore della proprietà OLE DB verrà eseguito l'override dell'impostazione nella stringa del provider.

Per le proprietà booleane impostate nelle stringhe del provider mediante i valori DBPROP_INIT_PROVIDERSTRING vengono utilizzati i valori "yes" e "no". Per le proprietà booleane impostate nelle stringhe di inizializzazione con IDataInitialize::GetDataSource vengono usati i valori "true" e "false".

Le applicazioni che usano IDataInitialize::GetDataSource supportano anche le parole chiave usate da IDBInitialize::Initialize, ma solo per le proprietà che non hanno un valore predefinito. Se in un'applicazione viene usata sia la parola chiave IDataInitialize::GetDataSource che la parola chiave IDBInitialize::Initialize nella stringa di inizializzazione, viene usata l'impostazione della parola chiave IDataInitialize::GetDataSource. Nelle applicazioni è consigliabile non specificare le parole chiave IDBInitialize::Initialize nelle stringhe di connessione IDataInitialize:GetDataSource, perché questo comportamento potrebbe non essere supportato nelle versioni successive.

Nota

Una stringa di connessione passata a IDataInitialize::GetDataSource viene convertita in proprietà e applicata tramite IDBProperties::SetProperties. Se i Servizi componenti hanno rilevato la descrizione della proprietà in IDBProperties::GetPropertyInfo, la proprietà verrà applicata come autonoma. In caso contrario, verrà applicata mediante la proprietà DBPROP_PROVIDERSTRING. Ad esempio, se si specifica la stringa di connessione Data Source=server1;Server=server2, Data Source verrà impostato come proprietà, ma Server verrà inserito in una stringa del provider.

Se si indicano più istanze per la stessa proprietà specifica del provider, verrà utilizzato il primo valore della prima proprietà.

Le stringhe di connessione usate nelle applicazioni OLE DB che usano DBPROP_INIT_PROVIDERSTRING con IDBInitialize::Initialize presentano la sintassi seguente:

connection-string ::= empty-string[;] | attribute[;] | attribute; connection-string

empty-string ::=

attribute ::= attribute-keyword=[{]attribute-value[}]

attribute-value ::= character-string

attribute-keyword ::= identifier

È consigliabile racchiudere i valori di attributo tra parentesi graffe per evitare i problemi determinati dalla presenza di caratteri non alfanumerici nei valori di attributo. Poiché si suppone che la prima parentesi graffa chiusa indichi la fine del valore, l'uso di tali parentesi nei valori non è consentito.

Uno spazio dopo il segno = in una parola chiave di una stringa di connessione verrà interpretato come valore letterale, anche se il valore è racchiuso tra virgolette.

Nella tabella seguente vengono descritte le parole chiave che possono essere utilizzate con DBPROP_INIT_PROVIDERSTRING.

Parola chiave Proprietà di inizializzazione Descrizione
Addr SSPROP_INIT_NETWORKADDRESS Sinonimo di "Address".
Indirizzo SSPROP_INIT_NETWORKADDRESS Indirizzo di rete di un'istanza di SQL Server nell'organizzazione.

Per altre informazioni sulla sintassi degli indirizzi valida, vedere la descrizione della parola chiave ODBC Address più avanti in questo argomento.
APP SSPROP_INIT_APPNAME Stringa che identifica l'applicazione.
ApplicationIntent SSPROP_INIT_APPLICATIONINTENT Dichiara il tipo di carico di lavoro dell'applicazione in caso di connessione a un server. I valori possibili sono ReadOnly e ReadWrite.

Il valore predefinito è ReadWrite. Per altre informazioni sul supporto di SQL Server Native Client per i gruppi di disponibilità AlwaysOn, vedere Supporto di SQL Server Native Client per la disponibilità elevata, ripristino di emergenza.
AttachDBFileName SSPROP_INIT_FILENAME Nome del file primario, incluso il nome completo del percorso, di un database collegabile. Per usare AttachDBFileName, è necessario specificare anche il nome del database con la parola chiave Database della stringa del provider. Se il database è stato collegato in precedenza, SQL Server non lo ricollega(usa il database collegato come predefinito per la connessione).
Conversione automatica SSPROP_INIT_AUTOTRANSLATE Sinonimo di "AutoTranslate".
AutoTranslate SSPROP_INIT_AUTOTRANSLATE Configura la conversione dei caratteri OEM/ANSI. I valori riconosciuti sono "yes" e "no".
Database DBPROP_INIT_CATALOG Nome del database.
DataTypeCompatibility SSPROP_INIT_DATATYPECOMPATIBILITY Specifica la modalità di gestione dei tipi di dati da utilizzare. I valori riconosciuti sono "0" per i tipi di dati del provider e "80" per i tipi di dati di SQL Server 2000.
Encrypt SSPROP_INIT_ENCRYPT Specifica se i dati devono essere crittografati prima del relativo invio in rete. I valori possibili sono "yes" e "no". Il valore predefinito è "no".
FailoverPartner SSPROP_INIT_FAILOVERPARTNER Nome del server di failover utilizzato per il mirroring del database.
FailoverPartnerSPN SSPROP_INIT_FAILOVERPARTNERSPN Nome SPN del partner di failover. Il valore predefinito è una stringa vuota. Una stringa vuota fa sì che SQL Server Native Client usi il nome SPN predefinito generato dal provider.
Lingua SSPROP_INIT_CURRENTLANGUAGE Lingua di SQL Server.
MarsConn SSPROP_INIT_MARSCONNECTION Abilita o disabilita MARS (Multiple Active Result Set) nella connessione se il server è SQL Server 2005 (9.x) o versione successiva. I valori possibili sono "yes" e "no". Il valore predefinito è "no".
Net SSPROP_INIT_NETWORKLIBRARY Sinonimo di "Network".
Rete SSPROP_INIT_NETWORKLIBRARY Libreria di rete usata per stabilire una connessione a un'istanza di SQL Server nell'organizzazione.
Network Library SSPROP_INIT_NETWORKLIBRARY Sinonimo di "Network".
PacketSize SSPROP_INIT_PACKETSIZE Dimensioni del pacchetto di rete. Il valore predefinito è 4096.
PersistSensitive DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO Accetta le stringhe "yes" e "no" come valori. Se impostata su "no", l'oggetto origine dati non è in grado di rendere persistenti le informazioni di autenticazione riservate
PWD DBPROP_AUTH_PASSWORD Password di accesso di SQL Server.
Server DBPROP_INIT_DATASOURCE Nome di un'istanza di SQL Server nell'organizzazione.

Se non viene specificato un nome, viene stabilita una connessione all'istanza predefinita nel computer locale.

Per altre informazioni sulla sintassi degli indirizzi valida, vedere la descrizione della parola chiave ODBC del server in questo argomento.
ServerSPN SSPROP_INIT_SERVERSPN Nome SPN del server. Il valore predefinito è una stringa vuota. Una stringa vuota fa sì che SQL Server Native Client usi il nome SPN predefinito generato dal provider.
Timeout DBPROP_INIT_TIMEOUT Tempo di attesa in secondi per il completamento dell'inizializzazione dell'origine dati.
Trusted_Connection DBPROP_AUTH_INTEGRATED Quando "sì", indica al provider OLE DB di SQL Server Native Client di usare la modalità di autenticazione di Windows per la convalida dell'accesso. In caso contrario, indica al provider OLE DB di SQL Server Native Client di usare un nome utente e una password di SQL Server per la convalida dell'accesso e devono essere specificate le parole chiave UID e PWD.
TrustServerCertificate SSPROP_INIT_TRUST_SERVER_CERTIFICATE Accetta le stringhe "yes" e "no" come valori. Il valore predefinito è "no", il quale indica che il certificato server verrà convalidato.
UID DBPROP_AUTH_USERID Nome di accesso di SQL Server.
UseProcForPrepare SSPROP_INIT_USEPROCFORPREP Questa parola chiave è deprecata e la relativa impostazione viene ignorata dal provider OLE DB di SQL Server Native Client.
WSID SSPROP_INIT_WSID Identificatore della workstation.

Le stringhe di connessione usate nelle applicazioni OLE DB che usano IDataInitialize::GetDataSource presentano la sintassi seguente:

connection-string ::= empty-string[;] | attribute[;] | attribute; connection-string

empty-string ::=

attribute ::= attribute-keyword=[quote]attribute-value[quote]

attribute-value ::= character-string

attribute-keyword ::= identifier

quote ::= " | '

L'utilizzo delle proprietà deve essere conforme alla sintassi consentita nel relativo ambito. Per WSID vengono ad esempio usate le parentesi graffe ({}) come virgolette e per Application Name vengono usate le virgolette semplici (') o doppie ("). Solo per le proprietà delle stringhe è possibile utilizzare le virgolette. Se si tenta di utilizzare le virgolette con una proprietà Integer o enumerata, verrà generato un errore che indica che la stringa di connessione non è conforme alla specifica OLE DB.

È consigliabile racchiudere i valori di attributo tra virgolette semplici o doppie per evitare i problemi determinati dalla presenza di caratteri non alfanumerici nei valori. Se raddoppiato, il carattere virgoletta può essere visualizzato anche per i valori.

Uno spazio dopo il segno = in una parola chiave di una stringa di connessione verrà interpretato come valore letterale, anche se il valore è racchiuso tra virgolette.

Se una stringa di connessione include più di una delle proprietà elencate nella tabella seguente, verrà utilizzato il valore dell'ultima proprietà.

Nella tabella seguente vengono descritte le parole chiave che possono essere usate con IDataInitialize::GetDataSource:

Parola chiave Proprietà di inizializzazione Descrizione
Nome dell'applicazione SSPROP_INIT_APPNAME Stringa che identifica l'applicazione.
Application Intent SSPROP_INIT_APPLICATIONINTENT Sinonimo di "ApplicationIntent".
ApplicationIntent SSPROP_INIT_APPLICATIONINTENT Dichiara il tipo di carico di lavoro dell'applicazione in caso di connessione a un server. I valori possibili sono ReadOnly e ReadWrite.

Il valore predefinito è ReadWrite. Per altre informazioni sul supporto di SQL Server Native Client per i gruppi di disponibilità AlwaysOn, vedere Supporto di SQL Server Native Client per la disponibilità elevata, ripristino di emergenza.
Conversione automatica SSPROP_INIT_AUTOTRANSLATE Sinonimo di "AutoTranslate".
AutoTranslate SSPROP_INIT_AUTOTRANSLATE Configura la conversione dei caratteri OEM/ANSI. I valori riconosciuti sono "true" e "false".
Connect Timeout DBPROP_INIT_TIMEOUT Tempo di attesa in secondi per il completamento dell'inizializzazione dell'origine dati.
Current Language SSPROP_INIT_CURRENTLANGUAGE Nome della lingua di SQL Server.
Origine dati DBPROP_INIT_DATASOURCE Nome di un'istanza di SQL Server nell'organizzazione.

Se non viene specificato un nome, viene stabilita una connessione all'istanza predefinita nel computer locale.

Per altre informazioni sulla sintassi degli indirizzi valida, vedere la descrizione della parola chiave ODBC server più avanti in questo argomento.
DataTypeCompatibility SSPROP_INIT_DATATYPECOMPATIBILITY Specifica la modalità di gestione dei tipi di dati da utilizzare. I valori riconosciuti sono "0" per i tipi di dati del provider e "80" per i tipi di dati di SQL Server 2000 (8.x).
Partner di failover SSPROP_INIT_FAILOVERPARTNER Nome del server di failover utilizzato per il mirroring del database.
Failover Partner SPN SSPROP_INIT_FAILOVERPARTNERSPN Nome SPN del partner di failover. Il valore predefinito è una stringa vuota. Una stringa vuota fa sì che SQL Server Native Client usi il nome SPN predefinito generato dal provider.
Catalogo iniziale DBPROP_INIT_CATALOG Nome del database.
Nome file iniziale SSPROP_INIT_FILENAME Nome del file primario, incluso il nome completo del percorso, di un database collegabile. Per usare AttachDBFileName, è necessario specificare anche il nome del database con la parola chiave DATABASE della stringa del provider. Se il database è stato collegato in precedenza, SQL Server non lo ricollega(usa il database collegato come predefinito per la connessione).
Sicurezza integrata DBPROP_AUTH_INTEGRATED Accetta il valore "SSPI" per l'autenticazione di Windows.
MARS Connection SSPROP_INIT_MARSCONNECTION Abilita o disabilita MARS (Multiple Active Result Sets) nella connessione. I valori riconosciuti sono "true" e "false". Il valore predefinito è "false".
Network Address SSPROP_INIT_NETWORKADDRESS Indirizzo di rete di un'istanza di SQL Server nell'organizzazione.

Per altre informazioni sulla sintassi degli indirizzi valida, vedere la descrizione della parola chiave ODBC Address più avanti in questo argomento.
Network Library SSPROP_INIT_NETWORKLIBRARY Libreria di rete usata per stabilire una connessione a un'istanza di SQL Server nell'organizzazione.
Packet Size SSPROP_INIT_PACKETSIZE Dimensioni del pacchetto di rete. Il valore predefinito è 4096.
Password DBPROP_AUTH_PASSWORD Password di accesso di SQL Server.
Persist Security Info DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO Accetta le stringhe "true" e "false" come valori. Se il valore è impostato su "false", l'oggetto origine dati non è in grado di rendere persistenti le informazioni di autenticazione riservate
Provider Per SQL Server Native Client, deve essere "SQLNCLI11".
Server SPN SSPROP_INIT_SERVERSPN Nome SPN del server. Il valore predefinito è una stringa vuota. Una stringa vuota fa sì che SQL Server Native Client usi il nome SPN predefinito generato dal provider.
TrustServerCertificate SSPROP_INIT_TRUST_SERVER_CERTIFICATE Accetta le stringhe "true" e "false" come valori. Il valore predefinito è "false", il quale indica che il certificato server verrà convalidato.
Use Encryption for Data SSPROP_INIT_ENCRYPT Specifica se i dati devono essere crittografati prima del relativo invio in rete. I valori possibili sono "true" e "false". Il valore predefinito è "false".
ID utente DBPROP_AUTH_USERID Nome di accesso di SQL Server.
Workstation ID SSPROP_INIT_WSID Identificatore della workstation.

Nota Nella stringa di connessione la proprietà "Vecchia password" imposta SSPROP_AUTH_OLD_PASSWORD, ovvero la password corrente (probabilmente scaduta) che non è disponibile tramite una proprietà della stringa del provider.

Parole chiave delle stringhe di connessione per gli oggetti ADO (ActiveX Data Objects)

Le applicazioni ADO impostano la proprietà ConnectionString degli oggetti ADODBConnection o forniscono una stringa di connessione come parametro al metodo Open degli oggetti ADODBConnection.

Le applicazioni ADO supportano anche le parole chiave usate dal metodo IDBInitialize::Initialize OLE DB, ma solo per le proprietà che non hanno un valore predefinito. Se in un'applicazione vengono usate sia le parole chiave ADO che le parole chiave IDBInitialize::Initialize nella stringa di inizializzazione, verrà usata l'impostazione della parola chiave ADO. Nelle applicazioni è consigliabile utilizzare solo le parole chiave delle stringhe di connessione ADO.

Le stringhe di connessione utilizzate da ADO presentano la sintassi seguente:

connection-string ::= empty-string[;] | attribute[;] | attribute; connection-string

empty-string ::=

attribute ::= attribute-keyword=["]attribute-value["]

attribute-value ::= character-string

attribute-keyword ::= identifier

È consigliabile racchiudere i valori di attributo tra virgolette doppie per evitare i problemi determinati dalla presenza di caratteri non alfanumerici nei valori. I valori attributo non possono contenere virgolette doppie.

Nella tabella seguente vengono descritte le parole chiave che possono essere utilizzate con una stringa di connessione ADO:

Parola chiave Proprietà di inizializzazione Descrizione
Application Intent SSPROP_INIT_APPLICATIONINTENT Sinonimo di "ApplicationIntent".
ApplicationIntent SSPROP_INIT_APPLICATIONINTENT Dichiara il tipo di carico di lavoro dell'applicazione in caso di connessione a un server. I valori possibili sono ReadOnly e ReadWrite.

Il valore predefinito è ReadWrite. Per altre informazioni sul supporto di SQL Server Native Client per i gruppi di disponibilità AlwaysOn, vedere Supporto di SQL Server Native Client per la disponibilità elevata, ripristino di emergenza.
Nome dell'applicazione SSPROP_INIT_APPNAME Stringa che identifica l'applicazione.
Conversione automatica SSPROP_INIT_AUTOTRANSLATE Sinonimo di "AutoTranslate".
AutoTranslate SSPROP_INIT_AUTOTRANSLATE Configura la conversione dei caratteri OEM/ANSI. I valori riconosciuti sono "true" e "false".
Connect Timeout DBPROP_INIT_TIMEOUT Tempo di attesa in secondi per il completamento dell'inizializzazione dell'origine dati.
Current Language SSPROP_INIT_CURRENTLANGUAGE Nome della lingua di SQL Server.
Origine dati DBPROP_INIT_DATASOURCE Nome di un'istanza di SQL Server nell'organizzazione.

Se non viene specificato un nome, viene stabilita una connessione all'istanza predefinita nel computer locale.

Per altre informazioni sulla sintassi degli indirizzi valida, vedere la descrizione della parola chiave ODBC del server in questo argomento.
DataTypeCompatibility SSPROP_INIT_DATATYPECOMPATIBILITY Specifica la modalità di gestione dei tipi di dati che verrà utilizzata. I valori riconosciuti sono "0" per i tipi di dati del provider e "80" per i tipi di dati di SQL Server 2000.
Partner di failover SSPROP_INIT_FAILOVERPARTNER Nome del server di failover utilizzato per il mirroring del database.
Failover Partner SPN SSPROP_INIT_FAILOVERPARTNERSPN Nome SPN del partner di failover. Il valore predefinito è una stringa vuota. Una stringa vuota fa sì che SQL Server Native Client usi il nome SPN predefinito generato dal provider.
Catalogo iniziale DBPROP_INIT_CATALOG Nome del database.
Nome file iniziale SSPROP_INIT_FILENAME Nome del file primario, incluso il nome completo del percorso, di un database collegabile. Per usare AttachDBFileName, è necessario specificare anche il nome del database con la parola chiave DATABASE della stringa del provider. Se il database è stato collegato in precedenza, SQL Server non lo ricollega(usa il database collegato come predefinito per la connessione).
Sicurezza integrata DBPROP_AUTH_INTEGRATED Accetta il valore "SSPI" per l'autenticazione di Windows.
MARS Connection SSPROP_INIT_MARSCONNECTION Abilita o disabilita MARS (Multiple Active Result Set) nella connessione se il server è SQL Server 2005 (9.x) o versione successiva. I valori riconosciuti sono "true" e "false". Il valore predefinito è "false".
Network Address SSPROP_INIT_NETWORKADDRESS Indirizzo di rete di un'istanza di SQL Server nell'organizzazione.

Per altre informazioni sulla sintassi degli indirizzi valida, vedere la descrizione della parola chiave ODBC Address in questo argomento.
Network Library SSPROP_INIT_NETWORKLIBRARY Libreria di rete usata per stabilire una connessione a un'istanza di SQL Server nell'organizzazione.
Packet Size SSPROP_INIT_PACKETSIZE Dimensioni del pacchetto di rete. Il valore predefinito è 4096.
Password DBPROP_AUTH_PASSWORD Password di accesso di SQL Server.
Persist Security Info DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO Accetta le stringhe "true" e "false" come valori. Se il valore è impostato su "false", l'oggetto origine dati non è in grado di rendere persistenti le informazioni di autenticazione riservate.
Provider Per SQL Server Native Client, deve essere "SQLNCLI11".
Server SPN SSPROP_INIT_SERVERSPN Nome SPN del server. Il valore predefinito è una stringa vuota. Una stringa vuota fa sì che SQL Server Native Client usi il nome SPN predefinito generato dal provider.
TrustServerCertificate SSPROP_INIT_TRUST_SERVER_CERTIFICATE Accetta le stringhe "true" e "false" come valori. Il valore predefinito è "false", il quale indica che il certificato server verrà convalidato.
Use Encryption for Data SSPROP_INIT_ENCRYPT Specifica se i dati devono essere crittografati prima del relativo invio in rete. I valori possibili sono "true" e "false". Il valore predefinito è "false".
ID utente DBPROP_AUTH_USERID Nome di accesso di SQL Server.
Workstation ID SSPROP_INIT_WSID Identificatore della workstation.

Nota Nella stringa di connessione la proprietà "Vecchia password" imposta SSPROP_AUTH_OLD_PASSWORD, ovvero la password corrente (probabilmente scaduta) che non è disponibile tramite una proprietà della stringa del provider.

Vedi anche

Compilazione di applicazioni con SQL Server Native Client