Como depurar procedimentos armazenados no Visual Studio .NET

Traduções de Artigos Traduções de Artigos
Artigo: 316549 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

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

Um programador de Visual Studio .NET pode utilizar o Explorador do servidor para depurar procedimentos armazenados do SQL Server independentemente de qualquer projecto de Visual Studio ou o programador pode passo o código do procedimento armazenado diretamente em código gerido num projecto do Visual Basic, Visual C# ou Visual J#.

Opção 1: Depurar um procedimento armazenado em modo autónomo

  1. Abra o Explorador do Server.

    Nota : não é necessário adicionar uma ligação de dados para trabalhar com um servidor de SQL Server porque os servidores do SQL Server são listadas sob o nó de servidores também. Utilizará o nó de servidores nos passos que se seguem; no entanto, pode utilizar uma ligação de dados a servidor SQL da mesma forma.
  2. No nó servidores no Explorador do servidor, expanda o nome de computador Do SQL Server , expanda o nó de SQL Server , expanda a instância Do SQL Server , expanda o nó da base de dados Adamastor e, em seguida, expanda o nó procedimentos armazenados .
  3. Clique com o botão direito do rato o procedimento CustOrderHist armazenados e clique em Passo no procedimento armazenado .
  4. A caixa de diálogo Executar procedimento armazenado é aberta, que lista os parâmetros do procedimento armazenado. Tipo ALFKI como o valor para @ CustomerID parâmetro de entrada e, em seguida, clique em OK .
  5. É no ambiente de estrutura Visual Studio, aberta uma janela que apresenta o texto do procedimento armazenado. A primeira linha executável do procedimento armazenado é realçada. Prima F11 para percorrer o procedimento armazenado para conclusão.
  6. Na janela de saída, é apresentada a seguinte mensagem, que indica a execução com êxito:
    O programa ' SQL depurador: T-SQL ' terminou com o código 0 (0 x 0).

Opção 2: Passo para um procedimento armazenado do código gerido

  1. Criar uma aplicação do Windows do Visual Basic novo projecto.
  2. Arraste um controlo de botão da caixa de ferramentas ao Form1. Na parte superior da janela de código do Form1, adicione a seguinte linha de código:
    Imports System.Data.SqlClient
    					
  3. Copie o código seguinte para o procedimento de evento Button1_Click :

    Nota : modificar a cadeia de ligaçã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 rato no projecto (não a solução) e abra as páginas de Propriedades . Clique em Propriedades de configuração na árvore da e, em seguida, clique para seleccionar a caixa de verificação Depuração do SQL Server na página a depuração para activar a depuração do procedimento armazenado.
  5. Definir um ponto de interrupção a seguinte linha de código:
           Dim dr As SqlDataReader = cmd.ExecuteReader
    					
  6. No Explorador do servidor, localize e abra o procedimento armazenado CustOrderHist conforme descrito na opção 1. Clique com o botão direito do rato o procedimento armazenado e clique em Editar procedimento armazenado .
  7. Defina um ponto de interrupção no procedimento armazenado de instrução SELECT, que é a única linha de código executável.
  8. Prima F5 para executar o projecto do Visual Basic.
  9. Quando o Form1 é apresentada, clique no botão de comando . O código será executado para o ponto de interrupção que defina antes o procedimento armazenado é chamado.
  10. Prima F11. O código de execução de passos do método ExecuteReader para a janela procedimento armazenado.
  11. Prima F11 novamente. Executa a linha de código no procedimento armazenado, a instrução SELECT. Controlo voltará ao projecto do Visual Basic e o projecto é executado para conclusão.
  12. Para continuar a avançar o código do Visual Basic depois passo fora do procedimento armazenado, tem de definir um segundo ponto de interrupção no código do Visual Basic após a chamada de procedimento armazenado. Por exemplo, o código de exemplo apresentado nesta secção, pode definir o segundo ponto de interrupção na linha seguinte:
            While dr.Read
    					

Resolução de problemas

  • Para o passo do código do Visual Studio para um procedimento armazenado, tem de Activar depuração de SQL nas Propriedades do projecto na página a depuração .
  • Para examinar o código do procedimento armazenado, tem de definir um ponto de interrupção no procedimento armazenado propriamente dito. Caso contrário, a depuração passos através do procedimento armazenado e a janela para o procedimento armazenado não é aberto.
  • Para continuar a percorrer o código do Visual Studio depois de depuração passos fora de um procedimento armazenado, tem de definir um ponto de interrupção no código de projecto num ponto após a execução do procedimento armazenado. Caso contrário, o código é executado para conclusão após depuração passos fora do procedimento armazenado.
  • Para problemas de instalação e configuração, consulte a secção intitulada "Definições para SQL depuração" no Visual Studio .NET de documentação.

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

Segue-se uma lista de limitações que poderá encontrar quando depurar procedimentos armazenados e que não a encontrar quando depurar código do Visual Studio:
  • Não é possível "terminar" execução.
  • Não é possível "Editar e continue."
  • Não é possível alterar a ordem de execução de instrução.
  • Embora possa alterar o valor de variáveis, as alterações não poderão efeito porque os valores de variáveis são colocados em cache.
  • Saída da instrução PRINT SQL não é apresentada.

Referências

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

Propriedades

Artigo: 316549 - Última revisão: 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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