Cómo depurar procedimientos almacenados de Visual Studio .NET

Seleccione idioma Seleccione idioma
Id. de artículo: 316549 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

En este artículo paso a paso se explica dos formas que puede depurar procedimientos almacenados de SQL Server y la configuración necesarios y pasos para cada enfoque.

Un desarrollador de Visual Studio .NET puede utilizar el Explorador de servidores para depurar procedimientos almacenados de SQL Server independientemente de cualquier proyecto de Visual Studio o el desarrollador puede recorrer el código del procedimiento almacenado directamente desde código administrado en un proyecto de Visual Basic, C# o J#.

Opción 1: Depurar un procedimiento almacenado en modo independiente

  1. Abra el Explorador de servidores.

    Nota : no es necesario agregar una conexión de datos para trabajar con un servidor SQL Server porque aparecen también servidores de SQL Server bajo el nodo servidores. Utilizará el nodo servidores en los pasos que seguir; sin embargo, puede utilizar una conexión de datos a servidor SQL server de la misma manera.
  2. Bajo el nodo servidores en el Explorador de servidores, expanda el nombre de equipo de SQL Server , expanda el nodo Servidores SQL Server , expanda la instancia de SQL Server , expanda el nodo de base de datos Northwind y, a continuación, expanda el nodo procedimientos almacenados .
  3. Haga clic con el botón secundario en el procedimiento almacenado CustOrderHist y haga clic en Ir A procedimiento almacenado .
  4. El cuadro Ejecutar procedimiento almacenado se abre, que enumera los parámetros del procedimiento almacenado. Tipo ALFKI como el valor de @ CustomerID parámetro de entrada y, a continuación, haga clic en Aceptar .
  5. En el entorno de diseño Visual Studio, se abre una ventana que muestra el texto del procedimiento almacenado. Se resalta la primera línea ejecutable del procedimiento almacenado. Presione F11 para recorrer el procedimiento almacenado hasta su finalización.
  6. En la ventana Resultados, se muestra el mensaje siguiente, que indica la ejecución correcta:
    El programa ' SQL Debugger: T-SQL ' terminó con código 0 (0 x 0).

Opción 2: El paso en un procedimiento almacenado desde código administrado

  1. Cree un nuevo proyecto de aplicación para Windows de Visual Basic.
  2. Arrastre un control Button desde el cuadro de herramientas hasta Form1. En la parte superior de la ventana de código de Form1, agregue la siguiente línea de código:
    Imports System.Data.SqlClient
    					
  3. Copie el código siguiente en el procedimiento de evento Button1_Click :

    Nota : modificar la cadena de conexión según sea necesario para su entorno.
            Dim cn As SqlConnection
            Dim strCn As String
            Dim cmd As SqlCommand
            Dim prm As SqlParameter
            strCn = "Data Source=(local);Initial Catalog=Northwind;" & _
                "Integrated Security=SSPI"
            cn = New SqlConnection(strCn)
            cmd = New SqlCommand("CustOrderHist", cn)
            cmd.CommandType = CommandType.StoredProcedure
            prm = New SqlParameter("@CustomerID", SqlDbType.Char, 5)
            prm.Direction = ParameterDirection.Input
            cmd.Parameters.Add(prm)
            cmd.Parameters("@CustomerID").Value = "ALFKI"
            cn.Open()
            Dim dr As SqlDataReader = cmd.ExecuteReader
            While dr.Read
                Console.WriteLine("Product ordered: {0}", dr.GetSqlString(0))
            End While
            dr.Close()
            cn.Close()
    					
  4. En Explorador de soluciones, haga clic con el botón secundario en el proyecto (no la solución) y abra las páginas de Propiedades . Haga clic en Propiedades de configuración en el árbol y, a continuación, active la casilla de verificación Depuración de SQL Server en la página de depuración para habilitar la depuración del procedimiento almacenado.
  5. Establecer un punto de interrupción en la siguiente línea de código:
           Dim dr As SqlDataReader = cmd.ExecuteReader
    					
  6. En el Explorador de servidores, busque y abra el procedimiento almacenado CustOrderHist como se describe en la opción 1. Haga clic con el botón secundario del mouse en el procedimiento almacenado y, a continuación, haga clic en Editar procedimiento almacenado .
  7. Establezca un punto de interrupción en el procedimiento almacenado en la instrucción SELECT, que es la única línea de código ejecutable.
  8. Presione F5 para ejecutar el proyecto de Visual Basic.
  9. Cuando aparezca el Form1, haga clic en el botón de comando . El código se ejecutará el punto de interrupción que establezca antes de llama al procedimiento almacenado.
  10. Presione F11. Código de pasos de ejecución desde el método ExecuteReader en la ventana procedimiento almacenado.
  11. Presionar F11 de nuevo. La única línea de código en el procedimiento almacenado, la instrucción SELECT, se ejecuta. A continuación, el control vuelve a su proyecto de Visual Basic y ejecuta el proyecto hasta su finalización.
  12. Para continuar recorrer el código de Visual Basic después de salir de un procedimiento almacenado, debe establecer un segundo punto de interrupción en el código de Visual Basic después de la llamada al procedimiento almacenado. Por ejemplo, en el código de ejemplo mostrado en esta sección, puede establecer el segundo punto de interrupción en la siguiente línea:
            While dr.Read
    					

Solución de problemas

  • Para recorrer un procedimiento almacenado desde el código de Visual Studio, debe habilitar la depuración de SQL en las Propiedades del proyecto en la página Depurar .
  • Para recorrer el código del procedimiento almacenado, debe establecer un punto de interrupción en el procedimiento almacenado propio. En caso contrario, los pasos de depuración sobre el procedimiento almacenado y la ventana para el procedimiento almacenado no se abre.
  • Para continuar recorrer el código de Visual Studio después de depurar pasos fuera de un procedimiento almacenado, debe establecer un punto de interrupción en el código del proyecto en un punto después de la ejecución del procedimiento almacenado. El código en caso contrario, se ejecuta hasta completarse después de depurar pasos fuera del procedimiento almacenado.
  • Para problemas de instalación y configuración, consulte la sección titulada "Configuración de depuración de SQL" en Visual Studio .NET documentación.

Limitaciones de depuración del procedimiento almacenado

Ésta es una lista de las limitaciones que pueden surgir al depurar procedimientos almacenados y que no se encuentran al depurar código de Visual Studio:
  • No puede "interrumpir" la ejecución.
  • No se puede "Editar y continuar."
  • No se puede cambiar el orden de ejecución de la instrucción.
  • Aunque puede cambiar el valor de variables, es posible que los cambios no surtan efecto ya están en caché los valores de variables.
  • No se muestra el resultado de la instrucción SQL PRINT.

Referencias

Para obtener más información acerca de la depuración en Visual Basic 6.0, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
170496Sugerencias para depurar procedimientos almacenados desde Visual Basic
Para obtener más información, visite el siguiente sitio Web de Microsoft (o vea el tema "Depuración de SQL" en la Ayuda de Visual Studio .NET documentación):
Depurar SQL
http://msdn2.microsoft.com/en-us/library/zefbf0t6(vs.71).aspx

Propiedades

Id. de artículo: 316549 - Última revisión: sábado, 12 de mayo de 2007 - Versión: 5.6
La información de este artículo se refiere a:
  • Microsoft ADO.NET (included with the .NET Framework)
  • Microsoft ADO.NET 1.1
  • Microsoft Visual J# .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual Studio .NET 2003 Enterprise Architect
  • Microsoft Visual Studio .NET 2003 Enterprise Developer
Palabras clave: 
kbmt kbhowtomaster kbsqlclient kbsystemdata KB316549 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 316549

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com