Inizializzazione e proprietà di autorizzazione (provider OLE DB client nativo)

Si applica a: SQL Server Azure SQL DatabaseIstanza gestita di SQL di Azure Azure SynapseAnalytics AnalyticsPlatform System (PDW)

Importante

La SQL Server Native Client (spesso abbreviata SNAC) è stata rimossa da SQL Server 2022 (16.x) e SQL Server Management Studio 19 (SSMS). Sia il provider OLE DB SQL Server Native Client (SQLNCLI o SQLNCLI11) che il provider Microsoft OLE DB legacy per SQL Server (SQLOLEDB) non è consigliato per il nuovo sviluppo. Passare al nuovo driver Microsoft OLE DB (MSOLEDBSQL) per SQL Server in futuro.

Il provider OLE DB SQL Server Native Client interpreta le proprietà di inizializzazione e autorizzazione OLE DB come indicato di seguito:

ID proprietà Descrizione
DBPROP_AUTH_CACHE_AUTHINFO Il provider OLE DB SQL Server Native Client non memorizza nella cache le informazioni di autenticazione.

Il provider OLE DB SQL Server Native Client restituisce DB_S_ERRORSOCCURRED su un tentativo di impostare il valore della proprietà. Il membro dwStatus della struttura DBPROP indica DBPROPSTATUS_NOTSUPPORTED.
DBPROP_AUTH_ENCRYPT_PASSWORD Il provider OLE DB SQL Server Native Client usa meccanismi di sicurezza standard di Microsoft SQL Server per nascondere le password.

Il provider OLE DB SQL Server Native Client restituisce DB_S_ERRORSOCCURRED su un tentativo di impostare il valore della proprietà. Il membro dwStatus della struttura DBPROP indica DBPROPSTATUS_NOTSUPPORTED.
DBPROP_AUTH_INTEGRATED Se DBPROP_AUTH_INTEGRATED è impostato su un puntatore NULL, una stringa Null o un valore di VT_BSTR SSPI, il provider OLE DB SQL Server Native Client usa la modalità di autenticazione di Windows per autorizzare l'accesso utente al database SQL Server specificato dalle proprietà DBPROP_INIT_DATASOURCE e DBPROP_INIT_CATALOG.

Se è impostata su VT_EMPTY (impostazione predefinita), viene utilizzata la sicurezza di SQL Server. L'account di accesso e la password di SQL Server vengono specificati nelle proprietà DBPROP_AUTH_USERID e DBPROP_AUTH_PASSWORD.
DBPROP_AUTH_MASK_PASSWORD Il provider OLE DB SQL Server Native Client usa meccanismi di sicurezza standard SQL Server per nascondere le password.

Il provider OLE DB SQL Server Native Client restituisce DB_S_ERRORSOCCURRED su un tentativo di impostare il valore della proprietà. Il membro dwStatus della struttura DBPROP indica DBPROPSTATUS_NOTSUPPORTED.
DBPROP_AUTH_PASSWORD Password assegnata a un account di accesso SQL Server. Questa proprietà viene utilizzata quando si seleziona l'autenticazione di SQL Server per autorizzare l'accesso a un database di SQL Server.
DBPROP_AUTH_PERSIST_ENCRYPTED Il provider OLE DB SQL Server Native Client non crittografa le informazioni di autenticazione quando vengono mantenute.

Il provider OLE DB SQL Server Native Client restituisce DB_S_ERRORSOCCURRED su un tentativo di impostare il valore della proprietà. Il membro dwStatus della struttura DBPROP indica DBPROPSTATUS_NOTSUPPORTED.
DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO Il provider OLE DB SQL Server Native Client mantiene i valori di autenticazione, inclusa un'immagine di una password, se richiesto. Non viene fornita alcuna crittografia.
DBPROP_AUTH_USERID Account di accesso di SQL Server. Questa proprietà viene utilizzata quando si seleziona l'autenticazione di SQL Server per autorizzare l'accesso a un database di SQL Server.
DBPROP_INIT_ASYNCH Il provider OLE DB SQL Server Native Client supporta l'avvio asincrono.

L'impostazione del bit DBPROPVAL_ASYNCH_INITIALIZE nella proprietà DBPROP_INIT_ASYNCH fa sì che IDBInitialize::Initialize diventi una chiamata non bloccante. Per altre informazioni, vedere Esecuzione di operazioni asincrone.
DBPROP_INIT_CATALOG Nome di un database di SQL Server esistente a cui connettersi.
DBPROP_INIT_DATASOURCE Nome di rete di un server che esegue un'istanza di Microsoft SQL Server. Se sono presenti più istanze di SQL Server in esecuzione nel computer, per connettersi a un'istanza specifica di SQL Server, il valore DBPROP_INIT_DATASOURCE deve essere specificato come \\NomeServer\NomeIstanza. Per la barra rovesciata viene utilizzata la sequenza di escape \\.
DBPROP_INIT_GENERALTIMEOUT Indica il numero di secondi prima del timeout di una richiesta diversa dall'inizializzazione dell'origine dati e dall'esecuzione di comandi. Il valore 0 indica un timeout infinito. I provider che supportano connessioni di rete o scenari distribuiti o in transazioni possono usare questa proprietà per indicare a un componente integrato di attivare il timeout nel caso di una richiesta con esecuzione prolungata. I timeout per l'inizializzazione dell'origine dati e l'esecuzione di comandi continuano a essere gestiti rispettivamente da DBPROP_INIT_TIMEOUT e DBPROP_COMMANDTIMEOUT.

Poiché la proprietà DBPROP_INIT_GENERALTIMEOUT è di sola lettura, se si tenta di impostarla viene restituito l'errore dwstatus di DBPROPSTATUS_NOTSETTABLE.
DBPROP_INIT_HWND Handle della finestra dall'applicazione chiamante. È necessario un handle valido per la finestra di dialogo di inizializzazione visualizzata quando è consentita la richiesta delle proprietà di inizializzazione.
DBPROP_INIT_IMPERSONATION_LEVEL Il provider OLE DB SQL Server Native Client non supporta la regolazione del livello di rappresentazione.

Il provider OLE DB SQL Server Native Client restituisce DB_S_ERRORSOCCURRED su un tentativo di impostare il valore della proprietà. Il membro dwStatus della struttura DBPROP indica DBPROPSTATUS_NOTSUPPORTED.
DBPROP_INIT_LCID Il provider OLE DB SQL Server Native Client convalida l'ID delle impostazioni locali e restituisce un errore se l'ID delle impostazioni locali non è supportato o non è installato nel client.
DBPROP_INIT_LOCATION Il provider OLE DB SQL Server Native Client restituisce DB_S_ERRORSOCCURRED su un tentativo di impostare il valore della proprietà. Il membro dwStatus della struttura DBPROP indica DBPROPSTATUS_NOTSUPPORTED.
DBPROP_INIT_MODE Il provider OLE DB SQL Server Native Client restituisce DB_S_ERRORSOCCURRED su un tentativo di impostare il valore della proprietà. Il membro dwStatus della struttura DBPROP indica DBPROPSTATUS_NOTSUPPORTED.
DBPROP_INIT_PROMPT Il provider OLE DB SQL Server Native Client supporta tutte le modalità di richiesta per l'inizializzazione dell'origine dati. Il provider OLE DB SQL Server Native Client usa DBPROMPT_NOPROMPT come impostazione predefinita per la proprietà.
DBPROP_INIT_PROTECTION_LEVEL Il provider OLE DB SQL Server Native Client non supporta un livello di protezione sulle connessioni alle istanze di SQL Server.

Il provider OLE DB SQL Server Native Client restituisce DB_S_ERRORSOCCURRED su un tentativo di impostare il valore della proprietà. Il membro dwStatus della struttura DBPROP indica DBPROPSTATUS_NOTSUPPORTED.
DBPROP_INIT_PROVIDERSTRING Vedere la stringa del provider OLE DB SQL Server Native Client più avanti in questo argomento.
DBPROP_INIT_TIMEOUT Il provider OLE DB SQL Server Native Client restituisce un errore durante l'inizializzazione se non è possibile stabilire una connessione all'istanza di SQL Server entro il numero di secondi specificati.

Nel set di proprietà specifiche del provider DBPROPSET_SQLSERVERDBINIT, il provider OLE DB SQL Server Native Client definisce queste proprietà di inizializzazione aggiuntive.

ID proprietà Descrizione
SSPROP_AUTH_OLD_PASSWORD Digitare: VT_BSTR

R/W (L/S): Scrittura

Predefinito: VT_EMPTY

Descrizione: Password corrente o scaduta. Per altre informazioni, vedere Modifica delle password a livello di programmazione.
SSPROP_INIT_APPNAME Digitare: VT_BSTR

R/W (L/S): Lettura/Scrittura

Descrizione: Nome dell'applicazione client.
SSPROP_INIT_AUTOTRANSLATE Digitare: VT_BOOL

R/W (L/S): Lettura/Scrittura

Predefinito: VARIANT_TRUE

Descrizione: Conversione di caratteri OEM/ANSI.

VARIANT_TRUE: il provider OLE DB SQL Server Native Client converte le stringhe di caratteri ANSI inviate tra il client e il server convertendo tramite Unicode per ridurre al minimo i problemi nella corrispondenza dei caratteri estesi tra le pagine codici nel client e il server:

I dati DBTYPE_STR del client inviati a un'istanza di una variabile, un parametro o una colonna char, varchar o text di SQL Server vengono convertiti da caratteri in Unicode usando la tabella codici ANSI del client e quindi vengono convertiti da Unicode in caratteri usando la tabella codici ANSI del server.

I dati char, varchar o text di SQL Server inviati a una variabile DBTYPE_STR del client vengono convertiti da caratteri in Unicode usando la tabella codici ANSI del server e quindi vengono convertiti da Unicode in caratteri usando la tabella codici ANSI del client.

Queste conversioni vengono eseguite sul client dal provider OLE DB SQL Server Native Client. A tale scopo, è necessario che nel client sia disponibile la stessa tabella codici ANSI utilizzata nel server.

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

Dati DBTYPE_WSTR Unicode del client inviati a dati di tipo char, varchar o text nel server.

Dati del server di tipo char, varchar o text inviati a una variabile DBTYPE_WSTR Unicode nel client.

Dati DBTYPE_STR ANSI del client inviati a dati Unicode di tipo nchar, nvarchar o ntext nel server.

Dati Unicode di tipo char, varchar o text del server inviati a una variabile ANSI DBTYPE_STR nel client.

VARIANT_FALSE: il provider OLE DB SQL Server Native Client non esegue traduzioni di caratteri.

Il provider OLE DB SQL Server Native Client non converte il carattere ANSI client DBTYPE_STR dati inviati a variabili di tipo char, varchar o text, parametri o colonne nel server. Per i dati di tipo char, varchar o text inviati dal server alle variabili DBTYPE_STR nel client non viene eseguita alcuna conversione.

Se il client e l'istanza di SQL Server utilizzano tabelle codici ANSI diverse, è possibile che i caratteri estesi non vengano interpretati correttamente.
SSPROP_INIT_CURRENTLANGUAGE Digitare: VT_BSTR

R/W (L/S): Lettura/Scrittura

Descrizione: Nome della lingua di SQL Server. Identifica la lingua utilizzata per la selezione e la formattazione dei messaggi di sistema. La lingua deve essere installata nel computer che esegue un'istanza di SQL Server. In caso contrario, l'inizializzazione dell'origine dati avrà esito negativo.
SSPROP_INIT_DATATYPECOMPATIBILITY Digitare: VT_UI2

R/W (L/S): Lettura/Scrittura

Predefinito: 0

Descrizione: consente la compatibilità dei tipi di dati tra SQL Server e le applicazioni ADO (ActiveX Data Object). Se si utilizza il valore predefinito 0, la gestione dei tipi di dati predefinita corrisponde a quella utilizzata dal provider. Se si utilizza il valore 80, la gestione dei tipi di dati utilizza solo tipi di dati di SQL Server 2000 (8.x). Per altre informazioni, vedere Uso di ADO con SQL Server Native Client.
SSPROP_INIT_ENCRYPT Tipo: VT_BOOL

L/S: Lettura/Scrittura

Predefinito: VARIANT_FALSE

Descrizione: Per crittografare i dati trasmessi in rete, la proprietà SSPROP_INIT_ENCRYPT è impostata su VARIANT_TRUE.

Se è abilitata la crittografia del protocollo, la crittografia verrà sempre eseguita, indipendentemente dall'impostazione di SSPROP_INIT_ENCRYPT. Se la crittografia del protocollo è disabilitata e la proprietà SSPROP_INIT_ENCRYPT è impostata su VARIANT_TRUE, la crittografia verrà eseguita.

Se la crittografia del protocollo è disabilitata e la proprietà SSPROP_INIT_ENCRYPT è impostata su VARIANT_FALSE, non verrà eseguita alcuna crittografia.
SSPROP_INIT_FAILOVERPARTNER Digitare: VT_BSTR

R/W (L/S): Lettura/Scrittura

Descrizione: Specifica il nome del partner di failover per il mirroring del database. Si tratta di una proprietà di inizializzazione e può essere impostata solo prima dell'inizializzazione stessa. Al termine dell'inizializzazione restituirà il partner di failover, se presente, restituito dal server primario.

Consente a un'applicazione smart di memorizzare nella cache il server di backup determinato più di recente, ma con tali applicazioni è necessario tenere conto del fatto che le informazioni vengono aggiornate solo quando la connessione viene stabilita per la prima volta (o reimpostata, se in pool) e possono diventare obsolete nel caso di connessioni prolungate.

Una volta stabilita la connessione, l'applicazione può eseguire una query su questo attributo per determinare l'identità del partner di failover. Se il server primario non dispone di partner di failover, la proprietà restituirà una stringa vuota. Per altre informazioni, vedere Uso del mirroring del database.
SSPROP_INIT_FILENAME Digitare: VT_BSTR

R/W (L/S): Lettura/Scrittura

Descrizione: Specifica il nome del file primario di un database collegabile. Questo database viene collegato e diventa il database predefinito per la connessione. Per utilizzare SSPROP_INIT_FILENAME, è necessario specificare il nome del database come valore della proprietà di inizializzazione DBPROP_INIT_CATALOG. Se il nome del database non esiste, viene eseguita la ricerca del nome del file primario specificato in SSPROP_INIT_FILENAME e il database viene collegato al nome specificato in DBPROP_INIT_CATALOG. Se il database è stato collegato in precedenza, non viene ricollegato in SQL Server.
SSPROP_INIT_MARSCONNECTION Digitare: VT_BOOL

R/W (L/S): Lettura/Scrittura

Predefinito: VARIANT_FALSE

Descrizione: Specifica se per la connessione è abilitata la funzionalità MARS (Multiple Active Result Set). Questa opzione deve essere impostata su true prima che venga stabilita una connessione al database. Per altre informazioni, vedere Uso di MARS (Multiple Active Result Set).
SSPROP_INIT_NETWORKADDRESS Digitare: VT_BSTR

R/W (L/S): Lettura/Scrittura

Descrizione: Indirizzo di rete del server che esegue un'istanza di SQL Server specificata dalla proprietà DBPROP_INIT_DATASOURCE.
SSPROP_INIT_NETWORKLIBRARY Digitare: VT_BSTR

R/W (L/S): Lettura/Scrittura

Descrizione: Nome della libreria di rete (DLL) utilizzata per comunicare con un'istanza di SQL Server. Il nome non deve include il percorso o l'estensione di file DLL.

L'impostazione predefinita può essere personalizzata utilizzando l'utilità Configurazione client di SQL Server.

Nota: Questa proprietà supporta solo TCP e Named Pipes. Se si utilizza questa proprietà con un prefisso, si verifica una situazione in cui sono presenti due prefissi. Tale situazione comporta un errore, in quanto la proprietà viene utilizzata per generare internamente un prefisso.
SSPROP_INIT_PACKETSIZE Digitare: VT_I4

R/W (L/S): Lettura/Scrittura

Descrizione: dimensioni del pacchetto di rete in byte. Il valore della proprietà delle dimensioni del pacchetto deve essere compreso tra 512 e 32.767. La dimensione predefinita del pacchetto di rete del provider OLE DB SQL Server Native Client è 4.096.
SSPROP_INIT_TAGCOLUMNCOLLATION Digitare: BOOL

R/W (L/S): Scrittura

Predefinito: FALSE

Descrizione: Viene usata durante l'aggiornamento di un database quando si usano cursori sul lato server. Questa proprietà contrassegna i dati con informazioni sulle regole di confronto ottenute dal server anziché dalla tabella codici nel client. Questa proprietà viene attualmente utilizzata solo dall'elaborazione di query distribuite, in quanto è in grado di riconoscere le regole di confronto dei dati di destinazione e di convertirle correttamente.
SSPROP_INIT_TRUST_SERVER_CERTIFICATE Tipo: VT_BOOL

R/W (L/S): Lettura/Scrittura

Predefinito: VARIANT_FALSE

Descrizione: Viene usata per abilitare o disabilitare la convalida del certificato server. Benché questa proprietà sia di lettura/scrittura, se si tenta di impostarla dopo avere stabilito una connessione, verrà restituito un errore.

Questa proprietà viene ignorata se il client è configurato per la richiesta della convalida del certificato. Può tuttavia essere utilizzata da un'applicazione insieme a SSPROP_INIT_ENCRYPT per garantire che la connessione al server sia crittografata, anche se il client è configurato per non richiedere la crittografia e nel client non è specificato alcun certificato.

Le applicazioni client possono eseguire query su questa proprietà dopo l'apertura di una connessione per determinare le effettive impostazioni di crittografia e convalida in uso.

Nota: L'uso della crittografia senza convalida del certificato garantisce protezione parziale dall'analisi dei pacchetti, ma non da attacchi di tipo man-in-the-middle. Questa modalità consente semplicemente la crittografia dell'account di accesso e dei dati inviati al server senza convalida del certificato server.

Per altre informazioni, vedere Uso della crittografia senza convalida.
SSPROP_INIT_USEPROCFORPREP Digitare: VT_I4

R/W (L/S): Lettura/Scrittura

Predefinito: SSPROPVAL_USEPROCFORPREP_ON

Descrizione: Utilizzo della stored procedure del server. Definisce l'uso di stored procedure temporanee di SQL Server per supportare l'interfaccia ICommandPrepare. Questa proprietà è significativa solo in caso di connessione a SQL Server 6.5. La proprietà viene ignorata per le versioni più recenti.

SSPROPVAL_USEPROCFORPREP_OFF: Quando viene preparato un comando, non viene creata una stored procedure temporanea.

SSPROPVAL_USEPROCFORPREP_ON: Quando viene preparato un comando, viene creata una stored procedure temporanea. Le stored procedure temporanee vengono rimosse al termine della sessione.

SSPROPVAL_USEPROCFORPREP_ON_DROP: Quando viene preparato un comando, viene creata una stored procedure temporanea. La stored procedure viene rimossa quando viene annullata la preparazione del comando con ICommandPrepare::Unprepare, quando viene specificato un nuovo comando per l'oggetto comando con ICommandText::SetCommandText o quando vengono rilasciati tutti i riferimenti dell'applicazione al comando.
SSPROP_INIT_WSID Digitare: VT_BSTR

R/W (L/S): Lettura/Scrittura

Descrizione: Stringa che identifica la workstation.

Nel set di proprietà specifiche del provider DBPROPSET_SQLSERVERDATASOURCEINFO, il provider OLE DB SQL Server Native Client definisce le proprietà aggiuntive. Per altre informazioni, vedere Proprietà origine dati.

Stringa del provider OLE DB di SQL Server Native Client

Il provider OLE DB SQL Server Native Client riconosce una sintassi simile a ODBC nei valori delle proprietà della stringa del provider. La proprietà della stringa del provider viene fornita come valore della proprietà di inizializzazione OLE DB DBPROP_INIT_PROVIDERSTRING quando viene stabilita una connessione all'origine dati OLE DB. Questa proprietà fornisce i dati di connessione specifici del provider OLE DB necessari per implementare una connessione all'origine dati OLE DB. All'interno della stringa gli elementi sono delimitati da punto e virgola. L'elemento finale nella stringa deve terminare con un punto e virgola. Ogni elemento è costituito da una parola chiave, da un segno di uguale e dal valore passato durante l'inizializzazione. Ad esempio:

Server=MyServer;UID=MyUserName;  

Con il provider OLE DB SQL Server Native Client, il consumer non deve mai usare la proprietà stringa del provider. Il consumer può impostare qualsiasi proprietà di inizializzazione riflessa nella stringa del provider usando OLE DB o SQL Server Native Client proprietà di inizializzazione specifiche del provider OLE DB.

Per un elenco delle parole chiave disponibili nel provider OLE DB SQL Server Native Client, vedere Uso delle parole chiave stringa di connessione con SQL Server Native Client.

Vedere anche

Oggetti origine dati (OLE DB)