Proprietà di inizializzazione e autorizzazione (provider OLE DB di Native Client)

Si applica a: SQL Server database SQL di Azure Istanza gestita di SQL di Azure azure Synapse Analytics Analytics Platform System (PDW)

Importante

SQL Server Native Client (spesso abbreviato SNAC) è stato rimosso da SQL Server 2022 (16.x) e da SQL Server Management Studio 19 (SSMS). Il provider OLE DB di SQL Server Native Client (SQLNCLI o SQLNCLI11) e il provider OLE DB legacy Microsoft per SQL Server (SQLOLEDB) non sono consigliati per lo sviluppo di nuove applicazioni. In futuro, passare al nuovo driver Microsoft OLE DB (MSOLEDBSQL) per SQL Server.

Il provider OLE DB di 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 di SQL Server Native Client non memorizza nella cache le informazioni di autenticazione.

Il provider OLE DB di 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 di SQL Server Native Client usa meccanismi di sicurezza standard di Microsoft SQL Server per nascondere le password.

Il provider OLE DB di 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 di SQL Server Native Client usa la modalità di autenticazione di Windows per autorizzare l'accesso utente al database di 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 di SQL Server Native Client usa meccanismi di sicurezza standard di SQL Server per nascondere le password.

Il provider OLE DB di 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 di SQL Server Native Client non crittografa le informazioni di autenticazione quando è persistente.

Il provider OLE DB di 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 di 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 di 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. La sequenza di escape \\ viene usata per la barra rovesciata stessa.
DBPROP_INIT_GENERALTIMEOUT Indica il numero di secondi prima di una richiesta, diversa dall'inizializzazione dell'origine dati e dall'esecuzione del comando, si verifica il timeout. Il valore 0 indica un timeout infinito. I provider che lavorano su connessioni di rete o in scenari distribuiti o transazionati possono supportare questa proprietà per consigliare a un componente incluso di scadere in caso di richiesta a 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 di SQL Server Native Client non supporta la regolazione del livello di rappresentazione.

Il provider OLE DB di 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 di 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 di 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 di 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 di SQL Server Native Client supporta tutte le modalità di richiesta per l'inizializzazione dell'origine dati. Il provider OLE DB di SQL Server Native Client usa DBPROMPT_NOPROMPT come impostazione predefinita per la proprietà .
DBPROP_INIT_PROTECTION_LEVEL Il provider OLE DB di SQL Server Native Client non supporta un livello di protezione per le connessioni alle istanze di SQL Server.

Il provider OLE DB di 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 di SQL Server Native Client più avanti in questo argomento.
DBPROP_INIT_TIMEOUT Il provider OLE DB di 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 specificato.

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

ID proprietà Descrizione
SSPROP_AUTH_OLD_PASSWORD Tipo: VT_BSTR

L/S: Scrittura

Impostazione predefinita: VT_EMPTY

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

L/S: Lettura/Scrittura

Descrizione: nome dell'applicazione client.
SSPROP_INIT_AUTOTRANSLATE Tipo: VT_BOOL

L/S: Lettura/Scrittura

Impostazione predefinita: VARIANT_TRUE

Descrizione: conversione di caratteri OEM/ANSI.

VARIANT_TRUE: il provider OLE DB di SQL Server Native Client converte le stringhe di caratteri ANSI inviate tra il client e il server convertendo in Unicode per ridurre al minimo i problemi di corrispondenza dei caratteri estesi tra le tabelle 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 di 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 di SQL Server Native Client non esegue traduzioni di caratteri.

Il provider OLE DB di 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 Tipo: VT_BSTR

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 Tipo: VT_UI2

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

Impostazione predefinita: 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 Tipo: VT_BSTR

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 Tipo: VT_BSTR

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 Tipo: VT_BOOL

L/S: Lettura/Scrittura

Impostazione predefinita: 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 Tipo: VT_BSTR

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 Tipo: VT_BSTR

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 pipe. 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 Tipo: VT_I4

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. Le dimensioni predefinite del pacchetto di rete del provider OLE DB di SQL Server Native Client sono 4.096.
SSPROP_INIT_TAGCOLUMNCOLLATION Tipo: BOOL

L/S: Scrittura

Impostazione predefinita: FALSE

Descrizione: viene utilizzata durante l'aggiornamento di un database quando si utilizzano 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

L/S: Lettura/Scrittura

Impostazione predefinita: VARIANT_FALSE

Descrizione: viene utilizzata 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 offre una 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 Tipo: VT_I4

L/S: Lettura/Scrittura

Impostazione predefinita: 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 Tipo: VT_BSTR

L/S: Lettura/Scrittura

Descrizione: stringa che identifica la workstation.

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

Stringa del provider OLE DB di SQL Server Native Client

Il provider OLE DB di 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 di SQL Server Native Client, il consumer non deve mai usare la proprietà della stringa del provider. Il consumer può impostare qualsiasi proprietà di inizializzazione riflessa nella stringa del provider usando le proprietà di inizializzazione specifiche del provider OLE DB o OLE DB di SQL Server Native Client.

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

Vedi anche

Oggetti di origine dati (OLE DB)