Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como posso entrar em um procedimento armazenado do SQL Server a partir do meu código C#?


Vou aproveitar a resposta de Davide e o comentário de Ian, porque esse foi exatamente o processo pelo qual passei.

Suposição :a resposta é baseada em VS2008 e VS2010 .

Para percorrer um procedimento armazenado T-SQL no SQL Server durante a depuração de um aplicativo .NET, você precisa fazer o seguinte:

  1. Siga as instruções do Suporte da MS "Como depurar procedimentos armazenados no Visual Studio .NET (Opção 2) "
    • Verifique se você ativou a depuração do SQL Server nas propriedades do projeto (Etapa 4 nas instruções vinculadas).
    • Verifique se você definiu um ponto de interrupção no procedimento armazenado em si (Etapas 6-7)

  2. Ative a opção Permitir depuração SQL/CLR na conexão de dados na qual o procedimento armazenado é chamado:
    • (sem esta segunda etapa, você obterá "O ponto de interrupção não será atingido no momento. Não é possível vincular o ponto de interrupção do SQL neste momento. Objeto que contém o ponto de interrupção não foi carregado." conforme relatado por Ian)
    • Explorador de servidores> Conexões de dados
    • Clique com o botão direito na conexão que você está usando no código
    • Marque Permitir depuração SQL/CLR opção no menu

Adicionado a partir de comentários:(Isso parece ser a chave para fazê-lo funcionar)

Ele também funciona com uma conexão criada programaticamente. Você só precisa usar a exatamente a mesma string de conexão que é exibido quando você clica com o botão direito do mouse na instância do servidor, clique em 'Propriedades' e role para baixo até 'String de conexão' (Verbindungszeichenfolge em alemão).