是否可以可视化PL / SQL分析树?

时间:2011-10-31 08:43:07

标签: oracle plsql visualization parse-tree

我正在寻找以某种方式导出或可视化Oracle中任意PL / SQL对象的解析树的方法,以便允许在两个相似对象的解析树之间进行比较。这可能吗?

1 个答案:

答案 0 :(得分:3)

理论上这应该是可能的(并且需要很多时间来实现!):

PL / SQL被解析并作为树状结构PLUS m代码存储在DB中。结构是DIANA加IDL的一些变体,而Ada又用来存储解析结果(PL / SQL与Ada非常相似)。有关参考,请参阅http://download.oracle.com/docs/cd/B14117_01/appdev.101/b10807/e_limits.htmhttp://cs.felk.cvut.cz/10gr2/appdev.102/b14261/tuning.htm

另一个选择是构建自己的解析器 - 起点是http://it.toolbox.com/blogs/oracle-guide/building-a-plsql-code-parser-using-plsql-part-1-29704

非常有用的资源是http://www.blackhat.com/presentations/bh-usa-06/BH-US-06-Finnigan.pdf - 您将找到许多有关如何从Oracle DB中提取DIANA- / IDL信息的信息,这些信息可以帮助您实现目标。