다음을 통해 공유


방법: 저장 프로시저 호출(ODBC)

SQL 문이 ODBC CALL 이스케이프 절을 사용하여 저장 프로시저를 호출하는 경우 Microsoft® SQL Server™ 드라이버는 RPC(원격 저장 프로시저 호출) 메커니즘을 사용하여 해당 프로시저를 SQL Server로 보냅니다. RPC 요청은 SQL Server의 문 구문 분석과 매개 변수 처리를 대부분 무시하므로 Transact-SQL EXECUTE 문을 사용할 때보다 속도가 향상됩니다.

이 기능을 보여 주는 예제 응용 프로그램을 보려면 CodePlex에서 제공하는 processing return codes and output parameters에 대한 예제를 참조하십시오. 자세한 내용은 SQL Server 데이터베이스 엔진 예제를 참조하십시오.

프로시저를 RPC로 실행하려면

  1. ODBC CALL 이스케이프 시퀀스를 사용하는 SQL 문을 생성합니다. 이 문에서는 각 입/출력 및 출력 매개 변수와 프로시저 반환 값(있는 경우)에 대해 매개 변수 표식을 사용합니다.

    {? = CALL procname (?,?)}
    
  2. 각 입력, 입/출력 및 출력 매개 변수와 프로시저 반환 값(있는 경우)에 대해 SQLBindParameter를 호출합니다.

  3. SQLExecDirect를 사용하여 문을 실행합니다.

[!참고]

응용 프로그램이 ODBC CALL 이스케이프 시퀀스가 아닌 Transact-SQL EXECUTE 구문을 사용하여 프로시저를 제출하는 경우 SQL Server ODBC 드라이버는 프로시저 호출을 RPC 대신 SQL 문으로 SQL Server에 전달합니다. 또한 Transact-SQL EXECUTE 문을 사용하면 출력 매개 변수가 반환되지 않습니다.