Comparteix a través de


Atributos de instrucción

Los atributos de la instrucción son características de la misma. Por ejemplo, si utilizar marcadores y qué tipo de cursor utilizar con el conjunto de resultados de la instrucción son atributos de la instrucción.

Los atributos de instrucción se establecen con SQLSetStmtAttr y su configuración actual recuperada con SQLGetStmtAttr. No es necesario que una aplicación establezca ningún atributo de instrucción; todos los atributos de instrucción tienen valores por defecto, algunos de los cuales son específicos del controlador.

Cuando se puede establecer un atributo de instrucción depende del propio atributo. Los atributos de instrucción SQL_ATTR_CONCURRENCY, SQL_ATTR_CURSOR_TYPE, SQL_ATTR_SIMULATE_CURSOR y SQL_ATTR_USE_BOOKMARKS deben establecerse antes de ejecutar la instrucción. Los atributos de instrucción SQL_ATTR_ASYNC_ENABLE y SQL_ATTR_NOSCAN se pueden establecer en cualquier momento, pero no se aplican hasta que se vuelva a usar la instrucción. SQL_ATTR_MAX_LENGTH, SQL_ATTR_MAX_ROWS y SQL_ATTR_QUERY_TIMEOUT atributos de instrucción se pueden establecer en cualquier momento, pero es específico del controlador si se aplican antes de que se vuelva a usar la instrucción. Los atributos de instrucción restantes se pueden establecer en cualquier momento.

Nota:

La capacidad de establecer atributos de instrucción en el nivel de conexión mediante una llamada a SQLSetConnectAttr ha quedado en desuso en ODBC 3.x. Las aplicaciones ODBC 3.x nunca deben establecer atributos de instrucción en el nivel de conexión. Los controladores ODBC 3.x sólo necesitan admitir esta funcionalidad si deben funcionar con aplicaciones ODBC 2.x. Para obtener más información, vea Asignación de SQLSetConnectOption en el Apéndice G: Instrucciones del controlador para la compatibilidad con versiones anteriores.

Una excepción a esto es el SQL_ATTR_METADATA_ID y los atributos SQL_ATTR_ASYNC_ENABLE, que son atributos de conexión y atributos de instrucción y se pueden establecer en el nivel de conexión o en el nivel de instrucción.

Ninguno de los atributos de instrucción introducidos en ODBC 3.x (excepto para SQL_ATTR_METADATA_ID) se puede establecer en el nivel de conexión.

Para obtener más información, consulte la descripción de la función SQLSetStmtAttr.