Comment déboguer des procédures stockées dans Visual Studio .NET

Traductions disponibles Traductions disponibles
Numéro d'article: 316549 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Résumé

Cet article étape par étape décrit deux méthodes que vous pouvez déboguer des procédures stockée SQL Server et les paramètres de configuration nécessaires et les étapes pour chaque méthode.

Un développeur Visual Studio .NET pouvez utiliser l'Explorateur de serveurs pour déboguer des procédures stockée SQL Server indépendamment d'un projet Visual Studio, ou le développeur puisse étape dans le code de la procédure stockée directement dans le code géré d'un projet Visual Basic, Visual C# ou Visual J#.

Option 1: débogage une procédure stockée en mode autonome

  1. Ouvrez l'Explorateur de serveurs.

    Remarque : il n'est pas nécessaire d'ajouter une connexion de données pour travailler avec un serveur SQL Server, car les serveurs SQL Server sont répertoriés sous le n?ud serveurs également. Vous utiliserez le n?ud serveurs dans les étapes qui suivent ; toutefois, vous pouvez utiliser une connexion de données sur serveur SQL Server de la même manière.
  2. Sous le n?ud serveurs dans l'Explorateur de serveurs, développez le nom d'ordinateur SQL Server , développez le n?ud serveurs SQL Server , développez l'instance de SQL Server , développez le noeud base de données Les Comptoirs et puis développez le n?ud des procédures stockées .
  3. Cliquez dans la procédure CustOrderHist stockées avec le bouton droit et cliquez sur pas À procédure stockée .
  4. La boîte de dialogue Exécuter une procédure stockée s'ouvre, qui répertorie les paramètres de la procédure stockée. Type ALFKI comme valeur de la @CustomerID paramètre d'entrée et puis cliquez sur OK .
  5. Dans l'environnement de conception Visual Studio, une fenêtre qui affiche le texte de la procédure stockée s'ouvre. La première ligne exécutable de la procédure stockée est mis en surbrillance. Appuyez sur F11 pour l'étape la procédure stockée jusqu'à la fin.
  6. Dans la fenêtre de sortie, le message suivant s'affiche, qui indique l'exécution réussie :
    Le programme « SQL débogueur: T-SQL » s'est terminé avec le code 0 (0 x 0).

D'option 2: pas dans une procédure stockée à partir de code géré

  1. Créez une nouvelle application Windows Visual Basic projet.
  2. Faites glisser un contrôle bouton de la boîte à outils à Form1. En haut de la fenêtre de code de Form1, ajoutez la ligne de code suivante :
    Imports System.Data.SqlClient
    					
  3. Copiez le code suivant dans la procédure de l'événement Button1_Click :

    Remarque : modifier la chaîne de connexion que nécessaire pour votre environnement.
            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. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet (pas la solution) et ouvrez les pages de propriété . Cliquez sur Propriétés de configuration dans l'arborescence, puis cliquez sur Activez la case à cocher SQL Server débogage sur la page débogage pour activer le débogage d'une procédure stockée.
  5. Défini un point d'arrêt sur la ligne suivante de code :
           Dim dr As SqlDataReader = cmd.ExecuteReader
    					
  6. Dans l'Explorateur de serveurs, recherchez et ouvrez la procédure CustOrderHist stocké comme décrit dans l'option 1. Cliquez avec le bouton droit sur la procédure stockée, puis cliquez sur Modifier la procédure stockée .
  7. Définir un point d'arrêt dans la procédure stockée sur l'instruction SELECT, qui est la seule ligne de code exécutable.
  8. Appuyez sur F5 pour exécuter le projet Visual Basic.
  9. Lorsque Form1 apparaît, cliquez sur le bouton de commande . Le code s'exécutera le point d'arrêt que vous défini avant la procédure stockée est appelée.
  10. Appuyez sur F11. Code d'étapes de l'exécution de la méthode ExecuteReader dans la fenêtre procédure stockée.
  11. Appuyez sur F11 à nouveau. La ligne de code dans la procédure stockée, l'instruction SELECT, s'exécute. Puis contrôle retourne à votre projet Visual Basic et exécute le projet jusqu'à la fin.
  12. Pour continuer à étape dans le code Visual Basic après l'étape out of la procédure stockée, vous devez définir un deuxième point d'arrêt dans le code Visual Basic après l'appel de la procédure stockée. Par exemple, dans l'exemple de code illustré dans cette section, vous pouvez définir le deuxième point d'arrêt sur la ligne suivante :
            While dr.Read
    					

Résolution des problèmes

  • À l'étape à partir du code Visual Studio dans une procédure stockée, vous devez activer le débogage SQL dans les propriétés de la page de débogage .
  • À l'étape par code de procédure stockée, vous devez définir un point d'arrêt dans la procédure stockée elle-même. Sinon, débogage suit sur la procédure stockée et la fenêtre de la procédure stockée ne s'ouvre pas.
  • Pour continuer à étape par code de Visual Studio après le débogage des étapes hors d'une procédure stockée, vous devez définir un point d'arrêt dans le code du projet à un point après l'exécution de la procédure stockée. Le code dans le cas contraire, s'exécute jusqu'à la fin après le débogage des étapes hors de la procédure stockée.
  • Pour les problèmes d'installation et de configuration, reportez-vous à la section intitulée « Configuration des SQL débogage » dans Visual Studio .NET documentation.

Limitations de débogage de procédure stockée

Voici une liste des limitations que vous pouvez rencontrer lorsque vous déboguez des procédures stockées et que vous ne rencontrez pas lorsque vous déboguez le code de Visual Studio :
  • Vous ne peut pas « annuler » l'exécution.
  • Vous ne pouvez pas « modifier et continuer ».
  • Vous ne pouvez pas modifier l'ordre d'exécution d'instruction.
  • Bien que vous pouvez modifier la valeur des variables, vos modifications peuvent prendront effet parce que les valeurs de variables sont mises en cache.
  • Sortie de l'instruction PRINT SQL n'est pas affichée.

Références

Pour plus d'informations sur le débogage dans Visual Basic 6.0, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
170496 Conseils pour le débogage des procédures à partir de Visual Basic stockées
Pour plus d'informations, reportez-vous au adresse de site Web de Microsoft à l'adresse suivante (ou consultez la rubrique « débogage SQL » dans l'aide de Visual Studio .NET documentation) :
Débogage SQL
http://msdn2.microsoft.com/en-us/library/zefbf0t6(vs.71).aspx

Propriétés

Numéro d'article: 316549 - Dernière mise à jour: samedi 12 mai 2007 - Version: 5.6
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft ADO.NET (included with the .NET Framework)
  • Microsoft ADO.NET 1.1
  • Microsoft Visual J# .NET 2003 Initiation
  • Microsoft Visual Basic .NET 2002 Initiation
  • Microsoft Visual Basic .NET 2003 Initiation
  • Microsoft Visual C# .NET 2002 Initiation
  • Microsoft Visual C# .NET 2003 Initiation
  • Microsoft Visual Studio .NET 2003 Enterprise Architect
  • Microsoft Visual Studio .NET 2003 Enterprise Developer
Mots-clés : 
kbmt kbhowtomaster kbsqlclient kbsystemdata KB316549 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 316549
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

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