ASP 페이지에서 SQL Server 저장 프로시저 실행

이 문서에서는 SQL Server 저장 프로시저를 실행하고 ASP(Active Server Pages) 페이지에서 매개 변수를 사용하는 방법을 보여 줍니다.

원본 제품 버전: 인터넷 정보 서비스
원본 KB 번호: 300488

요약

이 문서에서는 ASP 페이지에서 ADO(ActiveX Data Objects)를 사용하는 절차를 잘 알고 있다고 가정합니다.

단계별 예제

  1. SQL Server Query Analyzer에서 다음 쿼리를 실행하거나 Pubs 데이터베이스에 대해 SQL Server Management Studio 실행합니다.

    CREATE proc MyProc
    (
        @price smallint,
        @out smallint OUTPUT
    )
    AS
    Select @out = count(*) from titles where price < @price
    GO
    

    저장 프로시저(MyProc)는 하나의 입력 매개 변수(@price)를 사용하고 하나의 출력 매개 변수(@out)를 반환합니다.

    참고

    기본적으로 Northwind 샘플 데이터베이스 및 pubs 샘플 데이터베이스는 SQL Server 2005에 설치되지 않습니다. 이러한 데이터베이스는 Microsoft 다운로드 센터에서 다운로드할 수 있습니다. Northwind 샘플 데이터베이스 및 pubs 샘플 데이터베이스를 다운로드하는 방법에 대한 자세한 내용은 다음 Microsoft 웹 사이트: Northwind 및 pubs 샘플 데이터베이스 다운로드를 참조하세요.

  2. 다음 ASP 샘플 코드는 새로 만든 저장 프로시저를 호출합니다. 이 ASP 코드를 사용하여 입력 매개 변수를 설정하고 쿼리를 실행할 수 있습니다.

    1. 메서드를 CreateParameter 사용하여 다음과 같이 ADO에서 매개 변수를 만듭니다.

      Set myParameter = Command.CreateParameter (Name, [Type], [Direction], [Size], [Value])
      
    2. 매개 변수를 다음과 같이 Parameters 컬렉션에 추가했습니다.

      Command.Parameters.Append myParameter
      

      참고

      Parameters 컬렉션의 매개 변수는 저장 프로시저의 매개 변수 순서와 일치해야 합니다.

    3. 명령을 실행하여 다음과 같이 저장 프로시저 내/외부의 매개 변수 값을 전달합니다.

      <%
      Dim cmd
      Dim ln
      Dim retCount
      
      Set cmd = Server.CreateObject("ADODB.Command")
      
      With cmd
       .ActiveConnection = "Paste your connection string here"
       .Commandtext = "MyProc"
       .CommandType = adCmdStoredProc
       .Parameters.Append .CreateParameter("@price", adSmallInt, adParamInput, 10).Parameters("@price") = 22
       .Parameters.Append .CreateParameter("@retValue", adSmallInt, adParamOutput, 10).Execute ln, , adExecuteNoRecords
       retCount = .Parameters("@retValue")
      End with
      
      Response.Write retcount
      
      Set cmd = Nothing
      %>
      

      참고

      이 샘플에서 사용되는 상수는 Adovbs.inc 파일에서 찾을 수 있습니다. 이 파일은 활성 서버 페이지 설정 중에 설치되며 일반적으로 폴더에 \Aspsamp\Samples 있는 폴더에 \Inetpub 배치됩니다. 코드를 더 쉽게 읽고 유지 관리할 수 있도록 저장 프로시저를 호출할 때 숫자 값이 아닌 상수를 사용하는 것이 좋습니다.

       <%@ LANGUAGE = VBScript %>
       <!-- #INCLUDE VIRTUAL="/ASPSAMP/SAMPLES/ADOVBS.INC" -->
      
  3. 환경에 맞게 ADO 연결 문자열 수정합니다.

  4. ASP 페이지를 저장하고 브라우저에서 봅니다.

    참고

    저장 프로시저의 매개 변수 정보를 인식하지 못하는 경우 저장 프로시저를 올바르게 호출하는 방법을 결정하기 어려울 수 있습니다. 올바른 정보가 없으면 ADO 매개 변수를 제대로 만들 수 없습니다. Parameter 개체의 Refresh 메서드를 사용하여 서버의 저장 프로시저 정의에 따라 Parameters 컬렉션을 자동으로 채울 수 있습니다. 예를 들면

    Command.Parameters.Refresh
    

참조

자세한 내용은 ADO.NET 사용하여 간단한 데이터 애플리케이션 만들기를 참조하세요.