Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie kann ich aus meinem C#-Code in eine gespeicherte SQL Server-Prozedur einsteigen?

Ich baue auf Davides Antwort und Ians Kommentar dazu auf, denn genau das war der Prozess, den ich durchlaufen habe.

Annahme :Antwort basiert auf VS2008 &VS2010 .

Um eine gespeicherte T-SQL-Prozedur auf SQL Server beim Debuggen einer .NET-App schrittweise zu durchlaufen, müssen Sie Folgendes tun:

  1. Befolgen Sie die Anweisungen des MS-Supports „So debuggen Sie gespeicherte Prozeduren in Visual Studio .NET (Option 2) "

    • Stellen Sie sicher, dass Sie das SQL Server-Debugging aktiviert haben in den Projekteigenschaften (Schritt 4 in der verlinkten Anleitung).
    • Stellen Sie sicher, dass Sie einen Haltepunkt in der gespeicherten Prozedur gesetzt haben selbst (Schritte 6-7)
  2. Aktivieren Sie SQL/CLR-Debugging zulassen auf der Datenverbindung, auf der die gespeicherte Prozedur aufgerufen wird:

    • (Ohne diesen zweiten Schritt erhalten Sie "Der Haltepunkt wird derzeit nicht erreicht. SQL-Breakponit kann derzeit nicht gebunden werden. Objekt, das den Haltepunkt enthält, wurde nicht geladen." wie von Ian berichtet)
    • Server-Explorer> Datenverbindungen
    • Rechtsklick auf der Verbindung, die Sie im Code verwenden
    • Aktivieren Sie das Kontrollkästchen SQL/CLR-Debugging zulassen Option im Menü

Aus Kommentaren hinzugefügt:(Dies scheint der Schlüssel zu sein, damit es funktioniert)

Es funktioniert auch mit einer programmgesteuert erstellten Verbindung. Sie müssen nur genau dieselbe Verbindungszeichenfolge verwenden das angezeigt wird, wenn Sie mit der rechten Maustaste auf die Serverinstanz klicken, auf „Eigenschaften“ klicken und nach unten zu „Verbindungszeichenfolge“ scrollen.