Conséquences des options ISOEffects of ISO Options

Cette rubrique s’applique à : OuiSQL ServerOuibase de données SQL AzureOuiAzure SQL Data Warehouse Oui Parallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL ServeryesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

Le standard ODBC est étroitement mis en correspondance avec la norme ISO, et les applications ODBC attendent un comportement standard d'un pilote ODBC.The ODBC standard is closely matched to the ISO standard, and ODBC applications expect standard behavior from an ODBC driver. Pour que ce comportement se conforme plus étroitement avec qui est défini dans la norme ODBC, le SQL ServerSQL Server pilote ODBC Native Client utilise toujours les options ISO disponibles dans la version de SQL Server à laquelle il se connecte.To make its behavior conform more closely with that defined in the ODBC standard, the SQL ServerSQL Server Native Client ODBC driver always uses any ISO options available in the version of SQL Server with which it connects.

Lorsque le SQL ServerSQL Server pilote ODBC Native Client se connecte à une instance de SQL ServerSQL Server, le serveur détecte que le client utilise le SQL ServerSQL Server pilote ODBC Native Client et définit alors plusieurs options.When the SQL ServerSQL Server Native Client ODBC driver connects to an instance of SQL ServerSQL Server, the server detects that the client is using the SQL ServerSQL Server Native Client ODBC driver and sets several options on.

Le pilote émet ces instructions lui-même ; l'application ODBC n'émet aucune demande.The driver issues these statements itself; the ODBC application does nothing to request them. La définition de ces options permet aux applications ODBC utilisant le pilote d'être plus portables parce que le comportement du serveur correspond alors à la norme ISO.Setting these options allows ODBC applications using the driver to be more portable because the server behavior then matches the ISO standard.

Les applications basées sur DB-Library n'activent généralement pas ces options.DB-Library-based applications generally do not turn these options on. Les sites qui observent une différence comportement entre les clients ODBC ou DB-Library lors de la même instruction SQL en cours d’exécution ne doit pas supposer cela indique un problème avec le SQL ServerSQL Server pilote ODBC Native Client.Sites observing different behavior between ODBC or DB-Library clients when running the same SQL statement should not assume this points to a problem with the SQL ServerSQL Server Native Client ODBC driver. Ils doivent d’abord réexécuter l’instruction dans l’environnement de DB-Library avec les mêmes options SET comme serait utilisée par le SQL ServerSQL Server pilote ODBC Native Client.They should first rerun the statement in the DB-Library environment with the same SET options as would be used by the SQL ServerSQL Server Native Client ODBC driver.

Comme les options SET peuvent être activées et désactivées à tout moment par les utilisateurs et les applications, les développeurs de procédures stockées et de déclencheurs doivent aussi veiller à tester leurs procédures et leurs déclencheurs avec les options SET répertoriées ci-dessus activées et désactivées.Because SET options can be turned on and off at any time by users and applications, developers of stored procedures and triggers should also take care to test their procedures and triggers with the SET options listed above turned both on and off. Cela garantit que les procédures et les déclencheurs fonctionnent correctement, quelles que soient les options activées d'une connexion donnée lors de l'appel du déclencheur.This ensures that the procedures and triggers work correctly regardless of which options a particular connection may have set on when they invoke the procedure or trigger. Les déclencheurs ou les procédures stockées qui requièrent un paramètre particulier pour l'une de ces options doivent émettre une instruction SET au démarrage du déclencheur ou de la procédure stockée.Triggers or stored procedures that require a particular setting for one of these options should issue a SET statement at the start of the trigger or stored procedure. Cette instruction SET n'est active que pour l'exécution du déclencheur ou de la procédure stockée ; à la fin de la procédure ou du déclencheur, la configuration d'origine est restaurée.This SET statement remains in effect only for the execution of the trigger or stored procedure; when the procedure or trigger ends, the original setting is restored.

En cas de connexion à une instance de SQL ServerSQL Server, une quatrième option SET, CONCAT_NULL_YIELDS_NULL, est également activée.When connected to an instance of SQL ServerSQL Server, a fourth SET option, CONCAT_NULL_YIELDS_NULL, is also set on. Le SQL ServerSQL Server pilote ODBC Native Client ne définit pas de ces options si AnsiNPW = NO est spécifié dans la source de données ou sur SQLDriverConnect ou SQLBrowseConnect.The SQL ServerSQL Server Native Client ODBC driver does not set these options on if AnsiNPW=NO is specified in the data source or on either SQLDriverConnect or SQLBrowseConnect.

Comme les options ISO notées précédemment, le SQL ServerSQL Server pilote ODBC Native Client n’active pas l’option QUOTED_IDENTIFIER si QuotedID = NO est spécifié dans la source de données ou sur SQLDriverConnect ou SQLBrowseConnect.Like the ISO options noted earlier, the SQL ServerSQL Server Native Client ODBC driver does not turn the QUOTED_IDENTIFIER option on if QuotedID=NO is specified in the data source or on either SQLDriverConnect or SQLBrowseConnect.

Pour permettre au pilote de connaître l'état actuel des options SET, les applications ODBC ne doivent pas utiliser l'instruction Transact-SQLTransact-SQL SET pour définir ces options.To allow the driver to know the current state of SET options, ODBC applications should not use the Transact-SQLTransact-SQL SET statement to set these options. Elles doivent uniquement définir ces options à l'aide de la source de données ou des options de connexion.They should only set these options using either the data source or the connection options. Si l'application émet des instructions SET, le pilote peut générer des instructions SQL inexactes.If the application issues SET statements, the driver can generate incorrect SQL statements.

Voir aussiSee Also

L’exécution d’instructions ( ODBC ) Executing Statements (ODBC)
SQLDriverConnect SQLDriverConnect
SQLBrowseConnectSQLBrowseConnect