2016-12-30 70 views
-2

我想检查它被调用的一个过程吗? 他有什么办法吗?我可以为db2中的过程生成DDL吗?

我试图使用db2look生成,但它没有工作。

+0

M Gade, 我不能完全说出你在问什么。你在哪个平台/版本上? (例如,ISeries,Linux等)。你想确定什么程序调用存储过程,或者你知道存储过程的名称,并试图查看它的文本吗? – plditallo

+0

我正在使用Linux。我创建了一个名为SASDBADF.ADFQ_11111_SENSITIVE_PARTA_R032的程序,现在我正在尝试找到它被调用的地方?有什么方法可以找到? –

+0

基本上我听到的是,如果这个过程被另一个存储过程或可执行文件调用,您不确定。首先查看SYSCAT.ROUTINEDEP和SYSCAT.ROUTINES等值线,然后从db2开始。你正在寻找依赖关系。查找您的存储过程使用的表名(它)可能有助于触发其他熟悉的过程连接到它。 – plditallo

回答

0

您可以使用sqlpltrc和SQL分析器实用程序。关于这方面的文章很少,但他们可以帮助您的程序堆栈调用。

https://www.ibm.com/developerworks/community/blogs/SQLTips4DB2LUW/entry/tracing?lang=en http://angocadb2.blogspot.com.co/2014/02/tracing-log4db2-with-sqlpltrc.html

另一种方式到,在SYSCAT.PROCEDURES视图的文本列一下,找你的程序的名字。但是,如果存在动态SQL,这最终可能无济于事。另外,如果任何函数或触发器调用了SP,则需要在相应的表中查找该名称。

相关问题