Attributs d'instruction

Les attributs d’instruction sont des caractéristiques de l’instruction. Par exemple, s’il faut utiliser des signets et quel type de curseur utiliser avec le jeu de résultats de l’instruction sont des attributs d’instruction.

Les attributs d’instruction sont définis avec SQLSetStmtAttr et leurs paramètres actuels récupérés avec SQLGetStmtAttr. Il n’est pas nécessaire qu’une application définisse tous les attributs d’instruction ; tous les attributs d’instruction ont des valeurs par défaut, dont certaines sont spécifiques au pilote.

Lorsqu’un attribut d’instruction peut être défini dépend de l’attribut lui-même. Les attributs d’instruction SQL_ATTR_CONCURRENCY, SQL_ATTR_CURSOR_TYPE, SQL_ATTR_SIMULATE_CURSOR et SQL_ATTR_USE_BOOKMARKS doivent être définis avant l’exécution de l’instruction. Les attributs d’instruction SQL_ATTR_ASYNC_ENABLE et SQL_ATTR_NOSCAN peuvent être définis à tout moment, mais ne sont pas appliqués tant que l’instruction n’est pas utilisée à nouveau. SQL_ATTR_MAX_LENGTH, SQL_ATTR_MAX_ROWS et SQL_ATTR_QUERY_TIMEOUT attributs d’instruction peuvent être définis à tout moment, mais il s’agit d’une spécification spécifique au pilote s’ils sont appliqués avant l’utilisation de l’instruction à nouveau. Les attributs d’instruction restants peuvent être définis à tout moment.

Remarque

La possibilité de définir des attributs d’instruction au niveau de la connexion en appelant SQLSet Connecter Attr a été déconseillée dans ODBC 3.x. ODBC 3.Les applications x ne doivent jamais définir des attributs d’instruction au niveau de la connexion. ODBC 3.Les pilotes x n’ont besoin que de prendre en charge cette fonctionnalité s’ils doivent fonctionner avec ODBC 2.applications x . Pour plus d’informations, consultez SqlSet Connecter Option Mapping in Annexe G : Driver Guidelines for Backward Compatibility.

Il s’agit de l’SQL_ATTR_METADATA_ID et des attributs SQL_ATTR_ASYNC_ENABLE, qui sont à la fois des attributs de connexion et des attributs d’instruction et qui peuvent être définis au niveau de la connexion ou au niveau de l’instruction.

Aucun des attributs d’instruction introduits dans ODBC 3.x (à l’exception de SQL_ATTR_METADATA_ID) peut être défini au niveau de la connexion.

Pour plus d’informations, consultez la description de la fonction SQLSetStmtAttr .