Share via


Ejecución de procedimientos

ODBC define una secuencia de escape estándar para ejecutar procedimientos. Para obtener la sintaxis de esta secuencia y un ejemplo de código que la usa, vea Llamadas a procedimiento.

Para ejecutar un procedimiento, una aplicación realiza las siguientes acciones:

  1. Establece los valores de cualquier parámetro. Para obtener más información, vea Parámetros de la instrucción, más adelante en esta sección.

  2. Llama a SQLExecDirect y pasa una cadena que contiene la instrucción SQL que ejecuta el procedimiento. Esta instrucción puede usar la secuencia de escape definida por la sintaxis específica de ODBC o DBMS. Las instrucciones que usan la sintaxis específica de DBMS no son interoperables.

  3. Cuando se llama a SQLExecDirect, el controlador:

    • Recupera los valores de parámetro actuales y los convierte según sea necesario. Para obtener más información, vea Parámetros de la instrucción, más adelante en esta sección.

    • Llama al procedimiento en el origen de datos y lo envía a los valores de parámetro convertidos. La forma en que el controlador llama al procedimiento es específica del controlador. Por ejemplo, podría modificar la instrucción SQL para usar la gramática SQL del origen de datos y enviar esta instrucción para su ejecución, o podría llamar al procedimiento directamente mediante un mecanismo de llamada a procedimiento remoto (RPC) definido en el protocolo de flujo de datos del DBMS.

    • Devuelve los valores de cualquier parámetro de entrada/salida o salida o el valor devuelto del procedimiento, suponiendo que el procedimiento se realiza correctamente. Es posible que estos valores no estén disponibles hasta que se hayan procesado los demás resultados (recuentos de filas y conjuntos de resultados) generados por el procedimiento. Si se produce un error en el procedimiento, el controlador devuelve los errores.