Questions relatives à l'environnement de débogage et de reporting (FireDAC)

De RAD Studio
Aller à : navigation, rechercher

Remonter à FAQ (FireDAC)

Cette rubrique contient une liste des questions et réponses relatives à l'environnement de débogage et de reporting.


Q1 : Comment puis-je obtenir des informations sur le client et la session comme FDExplorer ?

R : Voir Rapports d'environnement SGBD.

Q2 : Comment puis-je générer la sortie de suivi/moniteur ?

R : Voir Suivi et surveillance.

Q3 : Comment puis-je activer/désactiver temporairement la sortie de suivi/moniteur ?

R : Utilisez TFDMoniXxxxClientLink.Tracing pour activer ou désactiver la sortie de suivi d'un type de programme de suivi spécifique. Pour activer ou désactiver la sortie de suivi d'une connexion établie spécifique, utilisez FDConnection.ConnectionIntf.Tracing.

Q4 : Que signifie EventKind ?

R : Consultez la liste ci-dessous :

  • LiveCycle : création/destruction d’objets. Par exemple, IFDPhysConnection est créé.
  • Error : erreurs du SGBD.
  • ConnConnect : ouverture/fermeture de la connexion.
  • ConnTransact : Start/Commit/Rollback.
  • ConnService : certains événements spéciaux.
  • CmdPrepare : appels à IFDPhysCommand.Prepare.
  • CmdExecute : appels à IFDPhysCommand.Execute ou Open.
  • CmdDataIn : valeurs du paramètre Command.
  • CmdDataOut : lignes de l'ensemble de résultats.
  • AdaptUpdat : informations détaillées sur la validation des mises à jour.
  • Vendor : appels à l'API du SGBD de bas niveau.
  • Component : certains événements de niveau élevé.

Q5 : Dans quelle unité et dans quelle partie du code puis-je voir l'instruction SQL si je dois procéder à des tâches de débogage ?

R : Vous pouvez utiliser l'une des options suivantes :

  • Vous pouvez utiliser le paramètre de connexion MonitorBy.
  • Ouvrez FireDAC.Phys.pas, trouvez la méthode TFDPhysCommand.Prepare et appelez la méthode InternalPrepare. Définissez un point d'arrêt et vérifiez la valeur du champ FDbCommandText. C'est le texte de la commande SQL tel qu'il sera envoyé à un SGBD.

Q6 : Comment puis-je obtenir l'instruction SQL finale avec tous les paramètres et macros remplacés ?

R : Voir TFDQuery.Text. Notez que FireDAC ne remplace pas la valeur des paramètres dans le texte de la commande SQL finale.

Q7 : J'ai activé la sortie de suivi et j'obtiens constamment des violations d'accès. Quel est le problème ? Est-ce un bogue ?

R : Pour les pilotes basés sur ODBC, FireDAC utilise les fonctions de suivi du gestionnaire de pilote ODBC Microsoft. Pour générer la sortie de suivi, le gestionnaire utilise les fonctions RTL C IsBadReadPtr/IsBadWritePtr en interne, qui peuvent générer une violation d'accès contrôlée en interne. L'exception ne sera pas propagée en dehors du gestionnaire, mais le débogueur de l'EDI s'arrête sur elle. Contentez-vous de l'ignorer.