跟踪MS Access DB活动

时间:2009-03-11 20:11:50

标签: debugging ms-access

我有一个带有SQL服务器后端的Access应用程序,它与Access应用程序本地的很多数据库对象混合在一起。我已经尝试过运行SQL Profiler,但除了一个神秘的sp_execute 2,4288,4289,4290,4291,4292,4293,4294,4295,4296,4297之外,我得到的很少。

我想要一个Access数据库本地的跟踪工具,所以我也会选择任何不会返回SQL服务器的活动。

2 个答案:

答案 0 :(得分:3)

据我所知,Access中没有这样的功能,但根据你的情况,你可以试试这几件事:

  • 编写一个针对SQL可执行文件的包装器:这意味着将您VBA中对ExecuteOpenRecordset等的所有调用替换为将记录查询的替代版本。
    这显然无法捕捉到一切,但它可能有所帮助。

  • 将本地表移动到另一个数据库,并使用ODBC将它们重新链接到原始的Access应用程序。然后,您可以使用ODBC's logging facilities 这可能是最好的替代方案,因为它很容易设置调试 它不是生产环境的最佳解决方案,因为所有对本地表的调用实际上都是通过ODBC进行的,但同样,它是一个临时的调试解决方案。

  • 使用ShowPlan and ISAMStats view how Jet/ACE interprets查询您的查询并获取其他数据库活动统计信息 通过将一个密钥写入注册表很容易设置,最后会得到一个描述查询分析方式的日志。
    它对于优化比记录更有用,但同样可以提供帮助。

答案 1 :(得分:0)

使用Flextracer,共享软件,免费使用30天左右。我们这里的同事刚刚为我们找到了这个,因为我们正在经历类似的情况。问题解决了。

http://www.geardownload.com/development/flextracer-download.html

[] S, Pedro Carneiro Jr. pedrokarneiro@hotmail.com