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.
Para que una aplicación pueda ejecutar una instrucción, debe asignar un identificador de instrucción. Para ello, llama a SQLAllocHandle con el parámetro HandleType establecido en SQL_HANDLE_STMT y InputHandle que apunta a un identificador de conexión.
Los atributos de instrucción son características del identificador de instrucción. Los atributos de instrucción de ejemplo pueden incluir el uso de marcadores y el tipo de cursor que se va a usar con el conjunto de resultados de la instrucción. Los atributos de instrucción se establecen con SQLSetStmtAttr y su configuración actual se recupera mediante SQLGetStmtAttr. No es necesario que una aplicación establezca ningún atributo de instrucción; todos los atributos de instrucción tienen valores predeterminados y algunos son específicos del controlador.
Tenga cuidado en el uso de varias opciones de conexión y instrucción ODBC. La llamada a SQLSetConnectAttr con fOption establecida en SQL_ATTR_LOGIN_TIMEOUT controla el tiempo que una aplicación espera a que una conexión intente agotar el tiempo de espera mientras espera a establecer una conexión (0 especifica una espera infinita). Los sitios que tienen tiempos de respuesta lentos pueden establecer este valor alto para asegurarse de que las conexiones tengan tiempo suficiente para completarse. Sin embargo, el intervalo siempre debe ser lo suficientemente bajo como para dar al usuario una respuesta en un tiempo razonable si el controlador no se puede conectar.
Llamar a SQLSetStmtAttr con fOption establecido en SQL_ATTR_QUERY_TIMEOUT establece un intervalo de tiempo de espera de consulta para ayudar a proteger el servidor y el usuario de consultas de larga duración.
Llamar a SQLSetStmtAttr con fOption establecido en SQL_ATTR_MAX_LENGTH limita la cantidad de datos de texto e imagen que puede recuperar una instrucción individual. Al llamar a SQLSetStmtAttr con fOption establecido en SQL_ATTR_MAX_ROWS también se limita un conjunto de filas a las primeras n filas si esa es toda la aplicación necesaria. Tenga en cuenta que la configuración SQL_ATTR_MAX_ROWS hace que el controlador emita una instrucción SET ROWCOUNT al servidor. Esto afecta a todas las instrucciones de Microsoft SQL Server, incluidos desencadenadores y actualizaciones.
Tenga cuidado al establecer estas opciones. Es mejor si todos los identificadores de instrucción de un identificador de conexión tienen la misma configuración para SQL_ATTR_MAX_LENGTH y SQL_ATTR_MAX_ROWS. Si el controlador cambia de un identificador de instrucción a otro con valores diferentes para estas opciones, el controlador debe generar las instrucciones SET TEXTSIZE y SET ROWCOUNT adecuadas para cambiar la configuración. El controlador no puede colocar estas instrucciones en el mismo lote que la instrucción SQL de usuario porque la instrucción SQL de usuario puede contener una instrucción que debe ser la primera instrucción de un lote. El controlador debe enviar las instrucciones SET TEXTSIZE y SET ROWCOUNT en un lote independiente, que genera automáticamente un recorrido de ida y vuelta adicional al servidor.