首页 / 知识
关于数据库:存储过程逆向工程
2023-04-15 18:51:00

Stored procedures reverse engineering我们在使用大量旧式存储过程时遇到了问题。 你们推荐任何可以帮助您更好地理解这些程序的工具吗? 某种反向工程,可识别过程间的依存关系和/或过程与表的依存关系。 可以是免费或商业工具。 谢谢! 比"依赖跟踪器"便宜的解决方案是数据字典表sys.sql_dependencies,可以从数据字典中查询该数据。 Oracle具有称为DBA_DEPENDENCIES的具有类似功能的数据字典视图(以及等效的USER_和ALL_视图)。使用其他数据字典表(sys.tables / DBA_TABLES)等,可以生成对象相关性报告。 如果您特别热衷,可以使用递归查询(Oracle CONNECT BY或SQL Server通用表表达式)来构建完整的对象依赖关系图。 这是sys.sql_dependencies上递归CTE的示例。它将为每个依赖项及其深度返回一个条目。对于每个依赖关系,项目可以出现多次,可能出现在不同的深度。我没有可用的Oracle实例来在DBA_DEPENDENCIES上构建CONNECT BY查询,因此,欢迎任何具有编辑特权,时间和专业知识的人注释或编辑此答案。
还要注意,使用
我现在已经向社区开放。可以方便地访问正在运行的Oracle实例的人可以在此处发布CONNECT BY递归查询吗?请注意,这是特定于SQL Server的,此后问题所有者明确表示他正在使用Oracle。我没有正在运行的Oracle实例来开发和测试任何东西。 Redgate有一个相当昂贵的产品,称为SQL Dependency Tracker,似乎可以满足要求。 我认为rpetrich提到的Red Gate Dependency Tracker是一个不错的解决方案,它运作良好,并且Red Gate有30天的试用期(理想情况下,足够您进行取证)。 我还将考虑隔离系统并运行SQL Profiler,它将向您显示表上的所有SQL操作。这通常是构建序列图的一个很好的起点,或者您选择记录这些代码。祝好运!
如何查找数据库对象的依赖关系链(MS SQL Server 2000(?)+)
这不是真正的深入或全面的知识,但是我认为,如果您使用的是MS SQL Server或Oracle(也许Nigel可以为PL-SQL示例提供帮助)... Nigel很有用。这只会涉及3个依赖项,但是可以进行修改,以使其变得更深入。这不是最漂亮的东西...但是它是功能性的...
存储过程在哪个数据库中? Oracle,SQL Server,还有别的吗? 根据评论进行编辑:既然您正在使用Oracle,请查看TOAD。我在其中使用了一个称为"代码路线图"的功能,该功能可让您以图形方式显示数据库中PL / SQL的相互依赖性。它可以在"仅代码"模式下运行,以显示运行时调用堆栈的相关性,也可以在"代码加数据"模式下运行,在该模式下,它还可以向您显示代码所触及的数据库对象(表,视图,触发器)。 (注意-我是TOAD用户,引用它并没有任何好处) Redgate SQL文档生成的文档包括交叉引用的依赖项信息。例如,对于每个表,它都列出了引用该表的视图,存储过程,触发器等。 逆向工程的最佳工具是APEX。太奇妙了。它甚至可以追溯到.NET程序集,并告诉您proc的使用位置。迄今为止,它是同类产品中最深的产品。 RedGate有很多其他工具,但在这种情况下没有。 |
最新内容
相关内容
linux命令下载工具?
linux命令下载工具?,工具,网络,代理,代码,简介,位置,系统,第一,下载工具,文件,Linux下多线程下载工具MWget和Axel使用介绍1、wget是linux下一linux好用的命令工具?
linux好用的命令工具?,系统,管理,工具,基础,服务,信息,工作,发行,公司,代码,Linux系统中进行磁盘管理的常用命令有哪些?分别有什么功能Linux磁linux常用命令行工具?
linux常用命令行工具?,系统,工作,工具,地址,管理,信息,命令,软件,目录,基础,linux常用命令有哪些1、linux系统常用操作命令linux系统常用操作linux命令行专业工具?
linux命令行专业工具?,工具,系统,工作,信息,服务,环境,基础,命令,管理,发行,linux系统常用操作命令1、linux常用命令有pwd命令、cd命令、ls命linux命令行执行工具?
linux命令行执行工具?,工具,系统,网络,分析,工作,服务,状态,信息,电脑,发行,shell编程(掌握Linux命令行工具)1、在开始Shell编程之前,我们需要linux命令行执行工具?
linux命令行执行工具?,工具,系统,网络,分析,工作,服务,状态,信息,电脑,发行,shell编程(掌握Linux命令行工具)1、在开始Shell编程之前,我们需要开发linux命令工具?
开发linux命令工具?,系统,工具,环境,状态,平台,设计,数据,电脑,中小企业,标准,Linux界面开发工具有哪些?1、大多数Linux发放版本,自身捆绑了诸linux命令行工具大全?
linux命令行工具大全?,工作,系统,工具,地址,信息,命令,目录,基础,管理,文件,linux常用的命令有哪些linux系统常用操作命令如下:ls:全拼list,功能linux命令联想工具?
linux命令联想工具?,地址,工作,系统,工具,状态,标准,信息,命令,目录,左下角,Linux:Python编写Linux自定义命令工具首先我们先认识一下cat指令linux命令工具怎么用?
linux命令工具怎么用?,地址,系统,工作,单位,工具,密码,服务,命令,处分,基础,怎样在Win10中使用Linux命令推荐:win10系统下载中文具体如下:首先,点linux命令行截图工具?
linux命令行截图工具?,工具,电脑,软件,系统,截图,网站,工作,环境,暂停,命令,Linux图形化界面下使用命令进行截图的方法1、以前在LINUX里面截图linux命令工具教程?
linux命令工具教程?,系统,工具,信息,基础,基础知识,代码,在线,地址,项目,服务,Linux系统中的curl命令使用教程1、首先,连接相应linux主机,进入到