Compartir a través de


Cómo llamar a procedimientos almacenados (ODBC)

Cuando una instrucción SQL llama a un procedimiento almacenado mediante la cláusula de escape ODBC CALL, el controlador de SQL Server envía el procedimiento a SQL Server usando el mecanismo de llamada a un procedimiento almacenado remoto (RPC). Las solicitudes de RPC omiten gran parte del análisis de la instrucción y del procesamiento del parámetro en SQL Server, y es más rápido que usar la instrucción Transact-SQL EXECUTE.

Para consultar una aplicación de ejemplo que muestra esta característica, vea el ejemplo de procesamiento de códigos de retorno y parámetros de salida, disponible en CodePlex. Vea Ejemplos de motor de base de datos de SQL Server para obtener más información.

Para ejecutar un procedimiento como una RPC

  1. Cree una instrucción SQL que use la secuencia de escape ODBC CALL. La instrucción usa marcadores de parámetros para cada parámetro de entrada, de entrada/salida y de salida, así como para el valor devuelto por el procedimiento (si existe):

    {? = CALL procname (?,?)}
    
  2. Llame a SQLBindParameter para cada parámetro de entrada, de entrada/salida y de salida, así como para el valor devuelto por el procedimiento (si existe).

  3. Ejecute la instrucción con SQLExecDirect.

Nota

Si una aplicación envía un procedimiento con la sintaxis de Transact-SQL EXECUTE (en contraposición a la secuencia de escape ODBC CALL), el controlador ODBC de SQL Server pasa la llamada al procedimiento a SQL Server como una instrucción SQL en lugar de como una RPC. Además, los parámetros de salida no se devuelven si se usa la instrucción Transact-SQL EXECUTE.