Utilizzo delle parole chiave delle stringhe di connessione con SQL Server Native Client
Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma di strumenti analitici (PDW)
Importante
SQL Server Native Client (SNAC) non viene fornito con:
- SQL Server 2022 (16.x) e versioni successive
- SQL Server Management Studio 19 e versioni successive
SQL Server Native Client (SQLNCLI o SQLNCLI11) e il provider OLE DB Microsoft legacy per SQL Server (SQLOLEDB) non sono consigliati per lo sviluppo di nuove applicazioni.
Per i nuovi progetti, usare uno dei driver seguenti:
Per SQLNCLI fornito come componente del motore di database di SQL Server (versioni dal 2012 al 2019), vedere questa Eccezione relativa al ciclo di vita del supporto.
Alcune API di SQL Server Native Client usano stringa 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 stringa 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 qualsiasi dipendenza da stringa di connessione ambiguità.
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 stringa 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 in ODBC stringa di connessione s 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 Sì 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_IDENTIFIER è impostato su ON per la connessione, SQL Server usa le regole ISO relative all'uso delle virgolette nelle istruzioni SQL. Se no, QUOTED_IDENTIFIER è 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)\ nomeistanza ; 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 in stringa 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.