Como depurar procedimentos armazenados no Visual Studio .NET

Traduções deste artigo Traduções deste artigo
ID do artigo: 316549 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo passo a passo explica duas maneiras que você pode depurar procedimentos armazenados do SQL Server e as configurações de configuração necessárias e etapas para cada abordagem.

Um desenvolvedor de Visual Studio .NET pode usar o Server Explorer para depurar procedimentos armazenados do SQL Server independently of qualquer projeto Visual Studio ou o desenvolvedor pode entrar o código do procedimento armazenado diretamente em código gerenciado em um projeto Visual Basic, translation from VPE for Csharp Visual ou Visual J#.

Opção 1: Depurar um procedimento armazenado no modo autônomo

  1. Abra Server Explorer.

    Observação : não é necessário adicionar uma conexão de dados para trabalhar com um servidor do SQL Server porque os servidores SQL Server são listados sob o nó Servers também. Você usará o nó Servers nas etapas que siga; no entanto, você pode usar uma conexão de dados para o servidor do SQL Server da mesma maneira.
  2. Sob o nó servidores no Server Explorer, expanda o nome de computador Do SQL Server , expanda o nó SQL Servers , expanda a instância Do SQL Server , expanda o nó de banco de dados Northwind e, em seguida, expanda o nó procedimentos armazenados .
  3. Clique o procedimento CustOrderHist armazenados com o botão direito do mouse e clique em Step Into Stored Procedure .
  4. A caixa de diálogo executar procedimento armazenado é aberta, que lista os parâmetros do procedimento armazenado. Tipo ALFKI como o valor para o @ CódigoDoCliente parâmetro de entrada e, em seguida, clique em OK .
  5. No ambiente de design Visual Studio, uma janela é aberta que exibe o texto do procedimento armazenado. A primeira linha executável do procedimento armazenado é realçada. Pressione F11 para depurar o procedimento armazenado para conclusão.
  6. Na janela Output, a seguinte mensagem é exibida, indicando que a execução bem-sucedida:
    O programa ' SQL Debugger: T-SQL ' foi encerrado com código de 0 (0 x 0).

Opção 2: Step into um procedimento armazenado do código gerenciado

  1. Criar um novo Visual Basic Windows Application projeto.
  2. Arraste um controle de botão da caixa de ferramentas para Form1. Na parte superior da janela de código do Form1, adicione a linha de código a seguir:
    Imports System.Data.SqlClient
    					
  3. Copie o seguinte código em procedimento de evento Button1_Click :

    Observação : modificar a seqüência de conexão conforme necessário para o seu ambiente.
            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. No Solution Explorer, clique com o botão direito do projeto (não a solução) e abra as páginas de propriedade . Clique em Configuration Properties na árvore de e, em seguida, clique para selecionar a caixa de seleção Depuração do SQL Server na página de depuração para habilitar a depuração do procedimento armazenado.
  5. Definir um ponto de interrupção na linha de código a seguir:
           Dim dr As SqlDataReader = cmd.ExecuteReader
    					
  6. No Server Explorer, localize e abra o procedimento CustOrderHist armazenado conforme descrito na opção 1. Clique o procedimento armazenado com o botão direito do mouse e clique em Editar Stored Procedure .
  7. Define um ponto de interrupção no procedimento de armazenado na instrução SELECT, que é a única linha de código executável.
  8. Pressione F5 para executar o projeto Visual Basic.
  9. Quando Form1 aparecer, clique no botão de comando . O código será executado para o ponto de interrupção que você definir antes do procedimento armazenado é chamado.
  10. Pressione F11. Código de etapas de execução do método ExecuteReader na janela de procedimento armazenado.
  11. Pressione F11 novamente. A única linha de código no procedimento armazenado, a instrução SELECT, executa. Controle retorna ao seu projeto Visual Basic, e o projeto é executado para conclusão.
  12. Para continuar a depurar o código do Visual Basic após etapa fora do procedimento armazenado, você deve definir um segundo ponto de interrupção no código Visual Basic após a chamada para o procedimento armazenado. Por exemplo, no código de exemplo mostrado nesta seção, você pode definir o segundo ponto de interrupção na linha a seguir:
            While dr.Read
    					

Solução de problemas

  • Para entrar em código do Visual Studio em um procedimento armazenado, você deve ativar depuração de SQL em Propriedades na página Debugging .
  • Para depurar código do procedimento armazenado, você deve definir um ponto de interrupção no procedimento armazenado propriamente dito. Caso contrário, a depuração de etapas no procedimento armazenado e a janela para o procedimento armazenado não abre.
  • Para continuar a depurar código do Visual Studio após a depuração etapas fora de um procedimento armazenado, você deve definir um ponto de interrupção no código do projeto em um ponto depois da execução do procedimento armazenado. Caso contrário, o código é executado para conclusão após a depuração etapas fora do procedimento armazenado.
  • Para problemas de instalação e configuração, consulte a seção intitulada "Setting up SQL Debugging" no Visual Studio .NET documentação.

Limitações de depuração do procedimento armazenado

A seguir está uma lista de limitações que você pode encontrar ao depurar procedimentos armazenados e que não ocorram quando você depurar código do Visual Studio:
  • Você não pode "quebrar" a execução.
  • Não é possível "Editar e continuar."
  • Não é possível alterar a ordem de execução de instrução.
  • Embora você possa alterar o valor de variáveis, as alterações podem não ter efeito porque os valores de variáveis são armazenados em cache.
  • Saída da instrução PRINT SQL não é exibida.

Referências

Para obter mais informações sobre depuração no Visual Basic 6.0, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
170496Dicas para depurar procedimentos armazenados a partir do Visual Basic
Para obter mais informações, visite o seguinte site (ou consulte o tópico "Depuração SQL" na Ajuda do Visual Studio .NET documentação):
Depuração SQL
http://msdn2.microsoft.com/en-us/library/zefbf0t6(vs.71).aspx

Propriedades

ID do artigo: 316549 - Última revisão: sábado, 12 de maio de 2007 - Revisão: 5.6
A informação contida neste artigo aplica-se 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
Palavras-chave: 
kbmt kbhowtomaster kbsqlclient kbsystemdata KB316549 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 316549

Submeter comentários

 

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