Partager via


Informations de référence sur l’API ODBC

s’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

L’API ODBC fournit un ensemble standard de fonctions pour la connexion à des sources de données, l’exécution d’instructions SQL et la récupération des résultats. Chaque fonction est une fonction de langage de programmation C avec des descriptions qui incluent l’objectif, la version ODBC, la syntaxe, les arguments, les valeurs de retour, les diagnostics et les exemples de code.

Le niveau de conformité CLI standard peut être l’un des éléments suivants : ISO 92, Open Group, ODBC ou Déprécié. Une fonction étiquetée comme conforme à ISO 92 apparaît également dans Open Group version 1, car Open Group est un superset pur de ISO 92. Une fonction étiquetée comme compatible Open Group apparaît également dans ODBC 3.x, car ODBC 3.x est un superset pur d’Open Group version 1. Une fonction marquée comme compatible ODBC n’apparaît pas dans les deux normes. Une fonction marquée comme déconseillée a été déconseillée dans ODBC 3.x.

La description de la fonction SQLGetDiagField décrit comment gérer les informations de diagnostic. Le texte associé aux valeurs SQLSTATE fournit une description de la condition, mais ne prescrit pas de texte spécifique.

Note

Pour obtenir des informations spécifiques au pilote sur les fonctions ODBC, consultez la section relative au pilote.

Gérer l’allocation et la gestion

Ces fonctions allouent et libèrent des handles pour les environnements, les connexions, les instructions et les descripteurs. Les handles sont le mécanisme principal pour le suivi de l’état dans les applications ODBC.

Fonction Descriptif
SQLAllocHandle Alloue un handle d’environnement, de connexion, d’instruction ou de descripteur. Il s’agit de la fonction ODBC 3.x qui remplace les fonctions d’allocation déconseillées.
SQLFreeHandle Libère un handle et des descripteurs d’environnement, de connexion, d’instruction ou de descripteur.
SQLAllocConnect Alloue un handle de connexion. Déconseillé dans ODBC 3.x ; utilisez SQLAllocHandle à la place.
SQLAllocEnv Alloue un handle d’environnement. Déconseillé dans ODBC 3.x ; utilisez SQLAllocHandle à la place.
SQLAllocStmt Alloue un handle d’instruction. Déconseillé dans ODBC 3.x ; utilisez SQLAllocHandle à la place.
SQLFreeConnect Libère un handle de connexion. Déconseillé dans ODBC 3.x ; utilisez SQLFreeHandle à la place.
SQLFreeEnv Libère un handle d’environnement. Déconseillé dans ODBC 3.x ; utilisez SQLFreeHandle à la place.
SQLFreeStmt Arrête le traitement des instructions, ferme les curseurs associés, ignore les résultats en attente et libère éventuellement les ressources associées à un handle d’instruction.

Fonctions de connexion

Ces fonctions établissent et gèrent les connexions aux sources de données. Ils prennent en charge différentes méthodes de connexion, notamment les connexions standard, les dialogues spécifiques au pilote et la navigation itérative.

Fonction Descriptif
SQLConnect Établit une connexion à une source de données à l’aide d’un nom de source de données, d’un ID d’utilisateur et d’un mot de passe.
SQLDriverConnect Établit une connexion à l’aide d’une chaîne de connexion. Prend en charge les boîtes de dialogue spécifiques au pilote pour obtenir des informations de connexion supplémentaires.
SQLBrowseConnect Prend en charge une méthode itérative de découverte et d’énumération des attributs nécessaires pour se connecter à une source de données.
SQLDisconnect Ferme une connexion à une source de données et libère les ressources associées.
SQLDataSources Retourne une liste de sources de données disponibles. Appelé sur le Gestionnaire de pilotes, et non sur un pilote spécifique.
SQLDrivers Retourne la liste des pilotes installés et de leurs attributs. Appelé sur le Gestionnaire de pilotes.

Préparation et exécution des instructions

Ces fonctions préparent et exécutent des instructions SQL. ODBC prend en charge l’exécution directe et l’exécution préparée, avec une exécution préparée offrant de meilleures performances pour les instructions exécutées à plusieurs reprises.

Fonction Descriptif
SQLPrepare Prépare une instruction SQL pour une exécution ultérieure. La source de données compile et optimise l’instruction.
SQLExecute Exécute une instruction préparée. Appel SQLPrepare avant d’appeler cette fonction.
Sqlexecdirect Prépare et exécute une instruction SQL dans un seul appel. Utilisez les instructions exécutées une seule fois.
SQLNativeSql Retourne la chaîne SQL telle que modifiée par le pilote, montrant comment le pilote traduit la syntaxe ODBC SQL.
SQLCancel Annule le traitement sur une instruction. Peut annuler une fonction en cours d’exécution asynchrone ou une fonction s’exécutant sur un autre thread.
SQLCancelHandle Annule le traitement sur une connexion ou une instruction. Plus flexible que SQLCancel pour l’annulation des fonctions de connexion.
SQLCompleteAsync Détermine quand une fonction asynchrone se termine. Utilisé avec le traitement asynchrone basé sur les notifications.

Liaison de paramètres

Ces fonctions lient des variables d’application aux marqueurs de paramètres dans les instructions SQL. Les paramètres activent les valeurs dynamiques dans les instructions préparées.

Fonction Descriptif
SQLBindParameter Lie une variable d’application à un marqueur de paramètre dans une instruction SQL. Prend en charge les paramètres d’entrée, de sortie et d’entrée/sortie.
SQLNumParams Retourne le nombre de paramètres dans une instruction SQL.
SQLDescribeParam Retourne la description d’un marqueur de paramètre, y compris le type de données, la taille et la précision.
SQLParamData Utilisé avec SQLPutData pour fournir des données de paramètre au moment de l’exécution. Retourne le paramètre nécessitant des données.
SQLPutData Envoie une partie ou l’ensemble d’une valeur de données pour un paramètre au moment de l’exécution. Prend en charge les données volumineuses en blocs.
SQLSetParam Lie un paramètre. Déconseillé dans ODBC 3.x ; utilisez SQLBindParameter à la place.
SQLParamOptions Définit les options des tableaux de paramètres. Déconseillé dans ODBC 3.x ; utilisez plutôt des attributs d’instruction.

Liaison et récupération du jeu de résultats

Ces fonctions lient les mémoires tampons d’application aux colonnes du jeu de résultats et récupèrent des données à partir des résultats de la requête.

Fonction Descriptif
SQLBindCol Lie une variable d’application à une colonne de jeu de résultats pour les opérations de récupération suivantes.
SQLFetch Récupère l’ensemble de lignes suivant des données du jeu de résultats dans des colonnes liées.
SQLFetchScroll Récupère l’ensemble de lignes spécifié à partir d’un jeu de résultats. Prend en charge le défilement jusqu’au premier, dernier, suivant, précédent, absolu et positions relatives.
SQLGetData Récupère les données d’une seule colonne après SQLFetch ou SQLFetchScroll. Utile pour les données volumineuses ou les colonnes indépendantes.
SQLExtendedFetch Récupère l’ensemble de lignes spécifié de données. Déconseillé dans ODBC 3.x ; utilisez SQLFetchScroll à la place.
SQLMoreResults Détermine si d’autres résultats sont disponibles sur une instruction et passe au jeu de résultats suivant.
SQLRowCount Retourne le nombre de lignes affectées par une instruction UPDATE, INSERT ou DELETE.

Opérations de curseur

Ces fonctions gèrent le comportement du curseur, le positionnement et les opérations en bloc sur les ensembles de lignes.

Fonction Descriptif
SQLSetPos Définit la position du curseur dans un ensemble de lignes et permet aux applications d’actualiser, de mettre à jour ou de supprimer des données à cette position.
SQLBulkOperations Effectue des opérations d’insertion, de mise à jour, de suppression ou de récupération par signet en bloc sur les ensembles de lignes.
SQLCloseCursor Ferme un curseur ouvert sur une instruction et ignore les résultats en attente.
SQLGetCursorName Retourne le nom du curseur associé à une instruction.
SQLSetCursorName Spécifie un nom de curseur pour les instructions UPDATE et DELETE positionnées.
SQLSetScrollOptions Définit les options pour le comportement du curseur. Déconseillé dans ODBC 3.x ; utilisez plutôt des attributs d’instruction.

Fonctions catalogue

Ces fonctions récupèrent des métadonnées sur la structure de base de données, notamment les tables, les colonnes, les index, les privilèges et les procédures stockées.

Fonction Descriptif
SQLTables Retourne une liste de noms de tables dans la source de données. Prend en charge le filtrage par catalogue, schéma et type de table.
SQLColumns Retourne une liste de noms de colonnes et leurs attributs pour les tables spécifiées.
SQLPrimaryKeys Retourne les colonnes qui composent la clé primaire d’une table.
SQLForeignKeys Retourne des clés étrangères dans une table ou des clés étrangères dans d’autres tables qui font référence à la clé primaire d’une table.
SQLStatistics Retourne des statistiques sur une table et une liste d’index qui lui sont associés.
SQLSpecialColumns Retourne des colonnes qui identifient de manière unique une ligne ou des colonnes qui sont automatiquement mises à jour lorsqu’une valeur de la ligne est mise à jour.
SQLColumnPrivileges Retourne une liste de colonnes et de privilèges associés pour une table.
SQLTablePrivileges Retourne une liste de tables et les privilèges associés à chaque table.
SQLProcedures Retourne une liste de noms de procédure stockée dans la source de données.
SQLProcedureColumns Retourne la liste des paramètres d’entrée/sortie et des colonnes dans le jeu de résultats pour les procédures spécifiées.
SQLGetTypeInfo Retourne des informations sur les types de données pris en charge par la source de données.

Opérations de descripteur

Ces fonctions obtiennent et définissent des valeurs de descripteur. Les descripteurs contiennent des métadonnées sur les paramètres et les colonnes du jeu de résultats.

Fonction Descriptif
SQLGetDescField Retourne la valeur d’un seul champ d’un enregistrement de descripteur.
SQLGetDescRec Retourne plusieurs champs d’un enregistrement de descripteur dans un seul appel.
SQLSetDescField Définit la valeur d’un seul champ d’un enregistrement de descripteur.
SQLSetDescRec Définit plusieurs champs d’un enregistrement de descripteur dans un seul appel.
SQLCopyDesc Copie les informations de descripteur d’un handle de descripteur vers une autre.

Fonctions d’attribut

Ces fonctions obtiennent et définissent des attributs pour les environnements, les connexions et les instructions. Les attributs contrôlent différents aspects du comportement ODBC.

Fonction Descriptif
SQLSetEnvAttr Définit un attribut d’environnement qui affecte toutes les connexions dans cet environnement.
SQLGetEnvAttr Retourne la valeur d’un attribut d’environnement.
SQLSetConnectAttr Définit un attribut de connexion qui affecte la connexion et les instructions sur celui-ci.
SQLGetConnectAttr Retourne la valeur d’un attribut de connexion.
SQLSetStmtAttr Définit un attribut d’instruction. Inclut les paramètres de curseur, de délai d’attente de requête et de paramètre.
SQLGetStmtAttr Retourne la valeur d’un attribut d’instruction.
SQLSetConnectOption Définit une option de connexion. Déconseillé dans ODBC 3.x ; utilisez SQLSetConnectAttr à la place.
SQLGetConnectOption Retourne la valeur d’une option de connexion. Déconseillé dans ODBC 3.x ; utilisez SQLGetConnectAttr à la place.
SQLSetStmtOption Définit une option d’instruction. Déconseillé dans ODBC 3.x ; utilisez SQLSetStmtAttr à la place.
SQLGetStmtOption Retourne la valeur d’une option d’instruction. Déconseillé dans ODBC 3.x ; utilisez SQLGetStmtAttr à la place.

Fonctions de diagnostic et d’informations

Ces fonctions récupèrent les informations de diagnostic, les messages d’erreur, les fonctionnalités du pilote et les informations de source de données.

Fonction Descriptif
SQLGetDiagField Retourne la valeur d’un champ dans un enregistrement de diagnostic contenant des informations d’erreur, d’avertissement et d’état.
SQLGetDiagRec Retourne plusieurs champs couramment utilisés d’un enregistrement de diagnostic, notamment SQLSTATE, le code d’erreur natif et le texte du message.
Sqlerror Retourne des informations d’erreur. Déconseillé dans ODBC 3.x ; utilisez SQLGetDiagRec à la place.
SQLGetFunctions Retourne des informations sur le fait qu’un pilote prend en charge une fonction ODBC spécifique.
SQLGetInfo Retourne des informations générales sur le pilote et la source de données, notamment les fonctionnalités et fonctionnalités prises en charge.

Métadonnées du jeu de résultats

Ces fonctions retournent des informations sur la structure des jeux de résultats.

Fonction Descriptif
SQLNumResultCols Retourne le nombre de colonnes dans un jeu de résultats.
SQLDescribeCol Retourne le nom de colonne, le type de données, la précision, l’échelle et la possibilité de nullabilité pour une colonne de jeu de résultats.
SQLColAttribute Retourne des informations de descripteur pour une colonne dans un jeu de résultats. Plus flexible que SQLDescribeCol.
SQLColAttributes Retourne des attributs pour une colonne. Déconseillé dans ODBC 3.x ; utilisez SQLColAttribute à la place.

Gestion des transactions

Ces fonctions gèrent les limites des transactions, en contrôlant le moment où les modifications sont validées ou restaurées.

Fonction Descriptif
SQLEndTran Valide ou restaure une transaction. Peut s’appliquer à toutes les connexions sur un environnement ou une seule connexion.
SQLTransact Valide ou restaure une transaction. Déconseillé dans ODBC 3.x ; utilisez SQLEndTran à la place.