Effetti delle opzioni ISO

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

Lo standard ODBC è molto simile allo standard ISO e le applicazioni ODBC presuppongono un comportamento standard da un driver ODBC. Per rendere il comportamento più conforme a quello definito nello standard ODBC, il driver ODBC di SQL Server Native Client usa sempre tutte le opzioni ISO disponibili nella versione di SQL Server con cui si connette.

Quando il driver ODBC di SQL Server Native Client si connette a un'istanza di SQL Server, il server rileva che il client usa il driver ODBC di SQL Server Native Client e imposta diverse opzioni.

Il driver stesso genera queste istruzioni, senza alcuna richiesta da parte dell'applicazione ODBC. L'impostazione di queste opzioni rende più portabili le applicazioni ODBC che utilizzano il driver in quanto il comportamento del server corrisponde allo standard ISO.

Nelle applicazioni DB-Library in genere queste opzioni non vengono attivate. I siti che osservano un comportamento diverso tra i client ODBC o db-Library quando eseguono la stessa istruzione SQL non devono presupporre questo problema con il driver ODBC di SQL Server Native Client. Devono prima eseguire di nuovo l'istruzione nell'ambiente DB-Library con le stesse opzioni SET usate dal driver ODBC di SQL Server Native Client.

Poiché le opzioni SET possono essere attivate e disattivate in qualsiasi momento da utenti e applicazioni, gli sviluppatori di stored procedure e trigger devono testare anche le stored procedure e i trigger con le opzioni SET sopra indicate attivate e disattivate per garantirne il corretto funzionamento indipendentemente dalle opzioni impostate da una connessione specifica quando il trigger o la stored procedure viene richiamata. Un trigger o una stored procedure in cui è necessario impostare una di queste opzioni in modo specifico deve generare un'istruzione SET all'inizio del trigger o della stored procedure stessa. Questa istruzione SET rimarrà attiva soltanto durante l'esecuzione del trigger o della stored procedure. Al completamento della stessa, verrà ripristinata l'impostazione originale.

Quando si è connessi a un'istanza di SQL Server, viene impostata anche una quarta opzione SET, CONCAT_NULL_YIELDS_NULL. Il driver ODBC di SQL Server Native Client non imposta queste opzioni se AnsiNPW=NO è specificato nell'origine dati o in SQLDriverConnect o SQLBrowseConnect.

Analogamente alle opzioni ISO indicate in precedenza, il driver ODBC di SQL Server Native Client non attiva l'opzione QUOTED_IDENTIFIER se quotedID=NO è specificato nell'origine dati o in SQLDriverConnect o SQLBrowseConnect.

Per consentire al driver di conoscere lo stato corrente delle opzioni SET, le applicazioni ODBC non devono usare l'istruzione Transact-SQL SET per impostare queste opzioni. Per eseguire questa operazione, infatti, devono utilizzare solo le opzioni dell'origine dati o della connessione. Se l'applicazione genera istruzioni SET, il driver può generare istruzioni SQL errate.

Vedi anche

Esecuzione di istruzioni (ODBC)
SQLDriverConnect
SQLBrowseConnect