Cómo ejecutar SQL Server procedimientos almacenados desde una página ASP

Resumen

Este artículo describe cómo ejecutar SQL Server almacena procedimientos y utilizar los parámetros de una página de páginas Active Server (ASP).

En este artículo se supone que está familiarizado con el procedimiento para utilizar ActiveX Data Objects (ADO) en una página ASP.

Más información

Ejemplo paso a paso

  1. Ejecute la consulta siguiente en Analizador de consultas de SQL Server o SQL Server Management Studio en la base de datos Pubs:
    CREATE proc MyProc(
    @price smallint,
    @out smallint OUTPUT
    )
    AS
    Select @out = count(*) from titles where price < @price
    GO

    El procedimiento almacenado ("MyProc") toma un parámetro de entrada ("@price") y devuelve un parámetro de salida ("@out").

    Nota: De forma predeterminada, la base de datos de ejemplo Northwind y las bases de datos de ejemplo pubs no están instalados en SQL Server 2005. Estas bases de datos se pueden descargar desde Microsoft Download Center. Para obtener más información acerca de cómo descargar la base de datos de ejemplo Neptuno y la base de datos de ejemplo pubs, visite el siguiente sitio Web de Microsoft:
  2. El siguiente código de ejemplo ASP llama al procedimiento almacenado recién creado. Puede utilizar este código ASP para establecer el parámetro de entrada y ejecutar la consulta.
    1. Utilice el método CreateParameter para crear parámetros en Microsoft ActiveX Data Objects (ADO) como sigue:
      Set myParameter = Command.CreateParameter (Name, [Type], [Direction], [Size], [Value])
    2. Agrega el parámetro a la colección de parámetros como sigue:
      Command.Parameters.Append myParameter
      Nota: los parámetros de la colección Parameters deben coincidir con el orden de los parámetros del procedimiento almacenado.
    3. Ejecute el comando para pasar valores de parámetro de entrada y salida del procedimiento almacenado como sigue:
      <%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
      %>

    Nota: Las constantes que se utilizan en este ejemplo se pueden encontrar en el archivo Adovbs.inc. Este archivo se instala durante la instalación de páginas Active Server y colocan en la carpeta \Aspsamp\Samples, que normalmente se encuentra en la carpeta \Inetpub. Práctica de programación se recomienda utilizar las constantes en lugar de los valores numéricos al llamar a su procedimiento almacenado para que el código sea más fácil de leer y mantener.
    <%@ LANGUAGE = VBScript %><!-- #INCLUDE VIRTUAL="/ASPSAMP/SAMPLES/ADOVBS.INC" -->

  3. Modifique la cadena de conexión ADO como corresponda para su entorno.
  4. Guardar la página ASP y verla en el explorador.

    Nota: Puede ser difícil determinar cómo llamar correctamente a un procedimiento almacenado si eres consciente de la información de parámetro del procedimiento almacenado. Sin la información correcta, no se puede crear correctamente los parámetros ADO. Puede utilizar el método Refresh del objeto Parameter para llenar la colección de parámetros automáticamente, basándose en la definición del procedimiento almacenado en el servidor. Por ejemplo:
    Command.Parameters.Refresh

Referencias

Para obtener información adicional, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
306574 cómo llamar a SQL Server procedimientos almacenados en ASP.NET utilizando Visual Basic .NET
Para obtener información adicional sobre el método de actualización, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
165156 cómo determinar los requisitos de parámetros para un procedimiento almacenado en ASP
Para obtener información adicional acerca de cómo utilizar un archivo de vínculo de datos (.udl) para crear una cadena de conexión, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
189680 cómo utilizar archivos de vínculo de datos con ADO
Para obtener información adicional acerca de cómo recuperar conjuntos de registros de Oracle, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
229919 cómo recuperar un conjunto de registros de Oracle almacena procedimiento mediante ADO en ASP
Propiedades

Id. de artículo: 300488 - Última revisión: 24 ene. 2017 - Revisión: 2

Comentarios