Condividi tramite


Effetti delle opzioni ISO

Lo standard ODBC è molto simile allo standard ISO e le applicazioni ODBC presuppongono un comportamento standard da un driver ODBC. Per rendere tale comportamento più conforme a quello definito nello standard ODBC, il driver ODBC di SQL Server Native Client utilizza sempre qualsiasi opzione ISO disponibile nella versione di SQL Server a 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 sta utilizzando il provider ODBC di SQL Server Native Client e attiva 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 durante l'esecuzione della stessa istruzione SQL non devono presupporre che questo crei un problema con il driver ODBC di SQL Server Native Client. È consigliabile innanzitutto che eseguano nuovamente l'istruzione nell'ambiente DB-Library con le stesse opzioni SET utilizzate 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.

Durante la connessione a un'istanza di SQL Server, viene attivata anche una quarta opzione SET, CONCAT_NULL_YIELDS_NULL. Queste opzioni non vengono attivate dal driver ODBC di SQL Server Native Client se nell'origine dati o su SQLDriverConnect oppure SQLBrowseConnect viene specificato AnsiNPW=NO.

Come le opzioni ISO indicate in precedenza, il driver ODBC di SQL Server Native Client non attiva l'opzione QUOTED_IDENTIFIER se QuotedID=NO viene specificato nell'origine dati o su SQLDriverConnect o SQLBrowseConnect.

Per consentire al driver di conoscere lo stato corrente delle opzioni SET, le applicazioni ODBC non devono utilizzare l'istruzione SET Transact-SQL per impostarle. 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.