Gespeicherte Prozeduren in Visual Studio .NET Debuggen

Dieser Artikel bezieht sich auf die folgenden Namespaces für Microsoft.NET Framework-Klassenbibliothek:
  • System.Data
  • System.Data.SqlClient

IN DIESER AUFGABE

Zusammenfassung

Dieser Artikel beschreibt zwei Methoden, um SQL Server gespeicherte Prozeduren und die erforderlichen Konfigurationen und Schritte für jede Herangehensweise Debuggen können.

Visual Studio .NET Entwickler können im Server-Explorer SQL Server gespeicherte Prozeduren unabhängig von jeder Visual Studio-Projekt debuggen oder Entwickler Schritt in den Code der gespeicherten Prozedur direkt aus verwaltetem Code in Visual Basic, Visual C# oder Visual J#-Projekt.

Option 1: Debuggen einer gespeicherten Prozedur im eigenständigen Modus

  1. Öffnen Sie Server-Explorer.

    Hinweis: ist nicht notwendig, auf einen Server mit SQL Server verwenden, da SQL Server-Server auch unter dem Knoten Server aufgeführt sind. Sie verwenden den Knoten Server in die Schritte, die folgen; Allerdings können Sie auf SQL Server-Server auf die gleiche Weise.
  2. Unter dem Knoten Server im Server-Explorer erweitern Sie die SQL Server- Computer, erweitern Sie den Knoten SQL Server erweitern Sie die SQL Server -Instanz, erweitern Sie den Knoten der Datenbank Northwind und dann den Knoten gespeicherte Prozeduren .
  3. Maustaste CustOrderHist gespeicherten Prozedur, und klicken Sie dann auf In gespeicherte Prozedur springen.
  4. Das Dialogfeld Prozedur ausführen Öffnet das sind die Parameter der gespeicherten Prozedur. Typ
    ALFKI als Wert für den @CustomerID Eingabeparameter, und klicken Sie dann auf OK.
  5. In der Visual Studio-Design-Umgebung öffnet ein Fenster, in dem den Text der gespeicherten Prozedur angezeigt. Die erste ausführbare Zeile der gespeicherten Prozedur wird hervorgehoben. Drücken Sie F11, um die gespeicherte Prozedur vollständig durchlaufen.
  6. Im Ausgabefenster wird folgende Meldung angezeigt die erfolgreichen Ausführung angibt:
    Das Programm "SQL Debugger: T-SQL" mit Code 0 (0 x 0) beendet wurde.

Option 2: Schritt in einer gespeicherten Prozedur in verwaltetem code

  1. Erstellen Sie ein neues Visual Basic Windows-Anwendungsprojekt.
  2. Ziehen Sie ein Button -Steuerelement aus der Toolbox auf Form1. Fügen Sie die folgende Codezeile oben in das Codefenster von Form1:
    Imports System.Data.SqlClient
  3. Kopieren Sie folgenden Code in die Button1_Click -Ereignisprozedur:

    Hinweis: Ändern Sie die Verbindungszeichenfolge entsprechend Ihrer Umgebung.
            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. Im Projektmappen-Explorer mit der rechten Maustaste des Projekts (nicht die Projektmappe) und öffnen der Eigenschaftenseiten . Klicken Sie in der Struktur auf Konfigurationseigenschaften , und aktivieren Sie das Kontrollkästchen SQL Server Debuggen auf Debuggen gespeicherte Prozedur Debuggen aktivieren.
  5. Festlegen Sie in der folgenden Codezeile einen Haltepunkt:
           Dim dr As SqlDataReader = cmd.ExecuteReader
  6. Suchen Sie im Server-Explorer und öffnen Sie CustOrderHist gespeicherten Prozedur, wie in Option 1 beschrieben. Klicken Sie die gespeicherte Prozedur und dann auf Gespeicherte Prozedur bearbeiten.
  7. Legen Sie einen Haltepunkt in der SELECT-Anweisung, die nur ausführbaren Codezeile in der gespeicherten Prozedur.
  8. Drücken Sie F5, um das Visual Basic-Projekt zu starten.
  9. Wenn Form1 angezeigt wird, klicken Sie auf die Befehlsschaltfläche. Der Code wird bis zum Haltepunkt ausgeführt, vor dem Aufruf der gespeicherten Prozedur festlegen.
  10. Drücken Sie F11. Code-Ausführungsschritte die ExecuteReader -Methode im Fenster gespeicherte Prozedur.
  11. Drücken Sie F11. Die Codezeile in der gespeicherten Prozedur, die SELECT-Anweisung ausgeführt wird. Kehrt die Steuerung zum Visual Basic-Projekt und das Projekt abgeschlossen wird.
  12. Weiter zu den Visual Basic-Code nach dem Verlassen der gespeicherten Prozedur müssen Sie einen zweiten Haltepunkt im Visual Basic-Code nach dem Aufruf der gespeicherten Prozedur festlegen. Beispielsweise können Sie im Beispielcode in diesem Abschnitt, den zweiten Haltepunkt in der folgenden Zeile festlegen:
            While dr.Read

Problembehandlung:

  • Um Visual Studio Code einer gespeicherten Prozedur in Einzelschritten müssen Sie SQL-Debuggen in den Projekteigenschaften auf Debugging aktivieren.
  • Um gespeicherte Prozedur durchlaufen, müssen Sie einen Haltepunkt in der gespeicherten Prozedur selbst festlegen. Andernfalls wird das Debuggen Schritte über die gespeicherte Prozedur und das Fenster für die gespeicherte Prozedur nicht geöffnet.
  • Um weiterhin Visual Studio Code schrittweise nach aus einer gespeicherten Prozedur Debuggen, müssen Sie einen Haltepunkt im Projektcode an einem Punkt nach der Ausführung der gespeicherten Prozedur festlegen. Andernfalls wird der Code vollständig nach dem Debuggen aus der gespeicherten Prozedur.
  • Installation und Konfiguration Probleme finden Sie im Abschnitt "Einrichten des SQL-Debuggens" in der Dokumentation zu Visual Studio .NET.

Grenzen der gespeicherten Prozedur Debuggen

Nachfolgend eine Liste der Grenzen, die beim Debuggen von gespeicherter Prozeduren und Sie beim Debuggen von Visual Studio Code auftritt auftreten können:
  • Sie können nicht "Ausführung unterbrechen".
  • Sie können nicht "Bearbeiten und fortfahren."
  • Die Reihenfolge der Ausführung der Anweisung kann nicht geändert werden.
  • Zwar den Wert der Variablen ändern können, können die Änderung nicht wirksam da die Variablenwerte zwischengespeichert werden.
  • Die SQL-PRINT-Anweisung wird nicht angezeigt.

Referenzen

Weitere Informationen zum Debuggen in Visual Basic 6.0 finden Sie im folgende Artikel der Microsoft Knowledge Base:
Tipps zum Debuggen von gespeicherter Prozeduren von Visual Basic 170496

Weitere Informationen finden Sie auf der folgenden Microsoft-Website (oder finden Sie im Thema "SQL-Debuggen" in der Visual Studio .NET):
Eigenschaften

Artikelnummer: 316549 – Letzte Überarbeitung: 21.01.2017 – Revision: 1

Feedback