是否有一个进度分析工具可以让我查看针对 OpenEdge 数据库执行的查询?
我们正在进行从 OpenEdge 数据库到 SQL 数据库的迁移。为了正确映射数据,我们想在 OpenEdge 数据库上运行某些应用程序报告,并查看正在执行哪些数据库查询以检索数据。
这是否可以通过某种进度分析工具(一种 la SQL Server 分析)实现?最好是免费的...
Progress 是面向记录的,而不是像 SQL 那样面向集合,因此您的报告不是单个查询或一组查询,更可能是大量记录查找与您认为类似查询的操作相结合。
根据您运行的版本,有一种方法可以向客户端发送信号以查看它当前正在做什么,但是这样做几乎肯定not 给您足够的信息来辨别“在引擎盖。”
长话短说,您的选择是获得一个数据服务器产品,这样您就可以将 Progress 客户端附加到 SQL 数据库——这将使您能够使用 SQL 数据库而不会丢失 Progress 功能。第二种选择是获取程序源代码的副本,以了解报告的结构。
蒂姆说得很对——如果没有源代码,查看查询不太可能为您提供很多见解。
尽管如此,还是有一些工具和功能可以提供有关查询的信息。可能对您的目的最有用的是指定类似于以下内容的内容:
-logentrytypes QryInfo -logginglevel 3 -clientlog "mylog.log"
在会话启动时。
您可以使用会话触发器来识别任何程序所做的几乎任何事情,而无需修改或访问这些程序的源代码。设置它可能比您的目的值得做更多的工作。我们有一个围绕这个想法构建的测试系统。一大缺陷:无法为 CAN-FIND 触发触发器。