Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come posso entrare in un processo archiviato di SQL Server dal mio codice C#?

Mi baserò sulla risposta di Davide e sul commento di Ian perché questo è stato esattamente il processo che ho attraversato.

Presupposto :la risposta si basa su VS2008 e VS2010 .

Per eseguire una procedura memorizzata T-SQL su SQL Server durante il debug di un'app .NET è necessario effettuare le seguenti operazioni:

  1. Segui le istruzioni del supporto MS "Come eseguire il debug delle stored procedure in Visual Studio .NET (opzione 2) "

    • Assicurati di aver abilitato il debug di SQL Server nelle proprietà del progetto (passaggio 4 nelle istruzioni collegate).
    • Assicurati di aver impostato un punto di interruzione nella procedura memorizzata stesso (passaggi 6-7)
  2. Abilita Consenti debug SQL/CLR sulla Connessione Dati su cui è chiamata la stored procedure:

    • (senza questo secondo passaggio otterrai "Il punto di interruzione non verrà attualmente raggiunto. Impossibile associare breakponit SQL in questo momento. Oggetto contenente il punto di interruzione non caricato." come riportato da Ian)
    • Esplora server> Connessioni dati
    • Fai clic con il pulsante destro del mouse sulla connessione che stai utilizzando nel codice
    • Seleziona Consenti debug SQL/CLR opzione nel menu

Aggiunto dai commenti:(questa sembra essere la chiave per farlo funzionare)

Funziona anche con una connessione creata a livello di codice. Devi solo utilizzare la identica stringa di connessione che viene visualizzato quando fai clic con il pulsante destro del mouse sull'istanza del server, fai clic su "Proprietà" e scorri verso il basso fino a "Stringa di connessione" (Verbindungszeichenfolge in tedesco).