用于提取存储过程的 DB2 SQL 代码
我和我的同事在托管 DB2/z 数据库(版本 8.1)上有数百个 SQL 存储过程。 我们没有管理员权限,我们通过 QMF 屏幕访问数据库。 下载是通过 3270 终端会话使用 TSO FT
命令完成的。
是否有一种简单/有效的方法来提取所有存储过程的定义/文本?
我想每周进行一次转储,并将其保存在 SVN 或其他版本控制系统中。
任何建议将不胜感激。
谢谢
Stephen
更新 - 2009 年 7 月 9 日
非常感谢您的建议,但它们似乎对我们的特定配置没有帮助。 我将返回我们的供应商并向他们询问更多信息。 当我进一步了解时会更新。
斯蒂芬
My colleagues and I have several hundred SQL stored procedures sitting on a hosted DB2/z database (version 8.1). We have no administrator rights and our access to the database is via QMF screens. Downloads are done through the 3270 terminal session with the TSO FT
command.
Is there a simple/efficient way to extract the definitions/text of all of our stored procedures?
I'll like to do a weekly dump that we keep on-site in SVN or some other revision control system.
Any suggestions would be greatly appreciated.
Thanks
Stephen
Update -- 9 July 2009
Many thanks for the suggestions, but they don't seem to help in our particular config. I'll go back to our vendor and ask they for more info. Will update when I learn anything further.
Stephen
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以通过执行以下操作来获取存储过程文本。
或者,您可以选择通过执行以下操作来仅检索架构中的 SP:
如果您决定通过使用 where 子句来限制结果,请注意,这是一种情况 -敏感,您只需在 CAPS 中指定条件。
You can get the stored procedure text by doing a
Alternately, you can choose to retrieve only the SPs in your schema by doing a:
If you decide to limit the results by having a where clause, please note that it is case-sensitive and you need to specify the criteria in CAPS only.
在 DB2 z/OS 上,您需要查看系统目录表,主要是 SYSIBM.SYSROUTINES、SYSIBM.SYSROUTINES_OPTS 和 SYSIBM.SYSROUTINES_SRC
On DB2 z/OS, you will want to look in the system catalog tables, primarily SYSIBM.SYSROUTINES, SYSIBM.SYSROUTINES_OPTS, and SYSIBM.SYSROUTINES_SRC
如果他们对该数据库只有最终用户权限,这有什么关系吗?
从 v9.5 的信息中心来看,需要以下权限:
系统目录表上的 SELECT 权限。
在某些情况下,例如生成表空间容器 DDL(调用 API sqlbotcq、sqlbftcq 和 sqlbctcq),您将需要以下之一:
If they have only end-user right on that db, does it matter?
from info center for v9.5 the following privilege is required:
SELECT privilege on the system catalog tables.
In some cases, such as generating table space container DDL (which calls the APIs sqlbotcq, sqlbftcq, and sqlbctcq), you will require one of the following:
我认为 db2look 应该能够为您获取 DDL。
根据文档,您唯一需要的是系统目录表上的 SELECT 权限。
我对 OS/390 不太熟悉,所以不确定如何在该平台上运行 db2look。 希望您的 DBA 可以帮助您。
I think db2look should be able to get the DDL for you.
According to the docs the only thing you need is SELECT privilege on the system catalog tables.
I'm not too familiar with OS/390 anymore so not sure how you run db2look on that platform. Hopefully your DBA can help you out.