Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
se aplica a:SQL Server
Azure SQL Database
Instancia administrada de Azure SQL
Azure Synapse Analytics
La norma ODBC está estrechamente relacionada con la norma ISO, y las aplicaciones ODBC esperan de los controladores ODBC un comportamiento estándar. Para que su comportamiento se ajuste más estrechamente al definido en el estándar ODBC, el controlador ODBC de SQL Server Native Client siempre usa las opciones ISO disponibles en la versión de SQL Server con la que se conecta.
Cuando el controlador ODBC de SQL Server Native Client se conecta a una instancia de SQL Server, el servidor detecta que el cliente usa el controlador ODBC de SQL Server Native Client y establece varias opciones.
El propio controlador emite estas instrucciones; la aplicación ODBC no hace nada para solicitarlas. Cuando se establecen estas opciones, las aplicaciones ODBC que usan el controlador pueden ser más portables porque el comportamiento del servidor se ajusta a la norma ISO.
Las aplicaciones basadas en DB-Library no suelen activar estas opciones. Los sitios que observan un comportamiento diferente entre los clientes ODBC o DB-Library al ejecutar la misma instrucción SQL no deben suponer que esto apunta a un problema con el controlador ODBC de SQL Server Native Client. Primero deberían volver a ejecutar la instrucción en el entorno DB-Library con las mismas SET opciones que usaría el controlador ODBC de SQL Server Native Client.
Dado que SET las opciones pueden activarse y desactivarse en cualquier momento por usuarios y aplicaciones, los desarrolladores de procedimientos almacenados y disparadores también deben asegurarse de probar sus procedimientos y disparadores con las SET opciones mencionadas anteriormente activadas y desactivadas. De esta forma se garantiza que los procedimientos y los desencadenadores funcionan correctamente, independientemente de las opciones que pueda tener configuradas una conexión concreta al llamar al procedimiento o el desencadenador. Los disparadores o procedimientos almacenados que requieran una configuración particular para una de estas opciones deben emitir una SET instrucción al inicio del disparador o procedimiento almacenado. Esta SET declaración permanece vigente solo para la ejecución del disparador o procedimiento almacenado; cuando el procedimiento o disparador termina, se restaura la configuración original.
Cuando se conecta a una instancia de SQL Server, también se activa una cuarta SET opción, CONCAT_NULL_YIELDS_NULL, . El controlador ODBC de SQL Server Native Client no establece estas opciones en si se especifica AnsiNPW=NO en el origen de datos o en SQLDriverConnect o SQLBrowseConnect.
Como las opciones ISO mencionadas anteriormente, el controlador ODBC de SQL Server Native Client no activa la QUOTED_IDENTIFIER opción si QuotedID=NO está especificado en la fuente de datos o en SQLDriverConnect o SQLBrowseConnect.
Para permitir que el controlador conozca el estado actual de las SET opciones, las aplicaciones ODBC no deben usar la instrucción Transact-SQL SET para establecer estas opciones. Solo deben establecerlas usando el origen de datos o las opciones de conexión. Si la aplicación emite SET sentencias, el controlador puede generar sentencias SQL incorrectas.