【发布时间】:2011-10-31 08:43:06
【问题描述】:
我正在寻找一种方法,以某种方式导出或可视化 Oracle 中任意 PL/SQL 对象的分析树,以便在两个相似对象的分析树之间进行比较。这可能吗?
【问题讨论】:
标签: oracle plsql visualization parse-tree
我正在寻找一种方法,以某种方式导出或可视化 Oracle 中任意 PL/SQL 对象的分析树,以便在两个相似对象的分析树之间进行比较。这可能吗?
【问题讨论】:
标签: oracle plsql visualization parse-tree
理论上这应该是可能的(并且需要大量时间来实现!):
PL/SQL 被解析并作为树状结构加上 m 代码存储在数据库中。该结构是 DIANA 和 IDL 的一些变体,而 IDL 又是 Ada 用来存储解析结果的东西(PL/SQL 与 Ada 非常相似)。参考见http://download.oracle.com/docs/cd/B14117_01/appdev.101/b10807/e_limits.htm和http://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 数据库中提取 DIANA-/IDL-信息的信息,这将有助于您实现目标。
【讨论】: