Partager via


Exécution de procédures

ODBC définit une séquence d’échappement standard pour l’exécution de procédures. Pour connaître la syntaxe de cette séquence et un exemple de code qui l’utilise, consultez Appels de procédure.

Pour exécuter une procédure, une application effectue les actions suivantes :

  1. Définit les valeurs de tous les paramètres. Pour plus d’informations, consultez Paramètres d’instruction, plus loin dans cette section.

  2. Appelle SQLExecDirect et le transmet à une chaîne contenant l’instruction SQL qui exécute la procédure. Cette instruction peut utiliser la séquence d’échappement définie par la syntaxe spécifique à ODBC ou SGBD ; les instructions qui utilisent une syntaxe spécifique au SGBD ne sont pas interopérables.

  3. Quand SQLExecDirect est appelé, le pilote :

    • Récupère les valeurs de paramètre actuelles et les convertit si nécessaire. Pour plus d’informations, consultez Paramètres d’instruction, plus loin dans cette section.

    • Appelle la procédure dans la source de données et l’envoie aux valeurs de paramètre converties. Comment le pilote appelle la procédure est spécifique au pilote. Par exemple, il peut modifier l’instruction SQL pour utiliser la grammaire SQL de la source de données et soumettre cette instruction pour l’exécution, ou elle peut appeler la procédure directement à l’aide d’un mécanisme RPC (Remote Procedure Call) défini dans le protocole de flux de données du SGBD.

    • Retourne les valeurs des paramètres d’entrée/sortie ou de sortie ou de la valeur de retour de la procédure, en supposant que la procédure réussit. Ces valeurs peuvent ne pas être disponibles tant que tous les autres résultats (nombres de lignes et jeux de résultats) générés par la procédure ont été traités. Si la procédure échoue, le pilote retourne des erreurs.