2009-03-11 8 views
1

J'ai une application Access avec un back-end SQL Server, mélangé avec un certain nombre d'objets DB locaux à l'application Access. J'ai essayé d'exécuter SQL Profiler, mais j'ai eu très peu, sauf un cryptic sp_execute 2,4288,4289,4290,4291,4292,4293,4294,4295,4296,4297.Trace Activité MS Access DB

Je voudrais un outil de trace qui est local à la base de données Access, donc je prends aussi toute activité qui ne retourne pas au serveur SQL.

Répondre

3

Pour autant que je sais qu'il n'y a pas de telle installation dans Access, mais, selon votre cas, vous pouvez essayer ces quelques petites choses:

  • écrire un wrapper contre executables SQL: cela signifierait remplacer tous les appels à Execute, OpenRecordset etc dans votre VBA à une version alternative qui consignerait la requête.
    Cela ne va pas tout attraper de toute évidence mais cela pourrait aider.

  • Déplacez vos tables locales vers une autre base de données et utilisez ODBC pour les relier à votre application Access d'origine. Vous pouvez ensuite utiliser ODBC's logging facilities.
    Cela pourrait être la meilleure alternative car il est assez facile à installer pour le débogage.
    Ce n'est pas la meilleure solution pour un environnement de production, car tous vos appels aux tables locales passent en fait par ODBC, mais encore une fois, c'est une solution temporaire pour le débogage.

  • Utilisez ShowPlan and ISAMStats pour view how Jet/ACE interprets vos requêtes et d'obtenir d'autres statistiques d'activité de base de données.
    Il est facile de configurer en écrivant une clé dans le registre et vous vous retrouverez avec un journal décrivant comment vos requêtes sont analysées.
    Il est plus utile pour l'optimisation que la journalisation, mais encore une fois, cela pourrait aider.

+0

J'aime votre deuxième option la plus. Je vais essayer ce soir, merci. – ProfK

+0

Oh oui, en ce qui concerne votre première option: je n'ai pas le VBA. – ProfK

+0

L'option 2 semble mal formulée. La question initiale indiquait déjà que SQL Server était le magasin de données, et je suppose que cela signifierait utiliser des tables liées ODBC, car c'est de loin la manière la plus facile de travailler avec des données SQL Server dans une application Access. Donc tout ce qui était vraiment nécessaire était d'activer la journalisation ODBC. –

Questions connexes