【问题标题】:Is it possible to to visualize a PL/SQL parse tree?是否可以可视化 PL/SQL 解析树?
【发布时间】:2011-10-31 08:43:06
【问题描述】:

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

【问题讨论】:

    标签: oracle plsql visualization parse-tree


    【解决方案1】:

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

    PL/SQL 被解析并作为树状结构加上 m 代码存储在数据库中。该结构是 DIANA 和 IDL 的一些变体,而 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 数据库中提取 DIANA-/IDL-信息的信息,这将有助于您实现目标。

    【讨论】:

    • +1 - 谢谢,Peter Finnigan 的演讲详细介绍了如何为对象转储 DIANA,但存储在包中的 PL/SQL 没有将 DIANA 存储在数据库中。这让我大部分时间都在那里,如果我很快没有得到更好的答案,我会接受你的。
    猜你喜欢
    • 2016-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-18
    • 1970-01-01
    • 2011-02-26
    • 2012-06-08
    • 2010-09-25
    相关资源
    最近更新 更多