利用SQLSERVER的事件探测器掌握用友系统的表结构

sqlSERVER的事件探测器是一个很强大很直观的工具,当我们在ERP系统里面做一定操作的时候,都会在数据库里面形成查询或者增删改的T-sql语句。通过事件探测器就可以知道ERP里面的单据在数据库的哪个表里面,甚至哪个字段里面。还可以根据探测到的sql语句分析ERP系统的表结构,表之间的关联字段是哪个。

 

大家初打开事件探测器时可能会搞不大清楚,因为ERP在运行时,后台sql语句量是很大的,1秒钟可以跳个几十条,你根本不知道哪句sql是针对你的操作的。

 

这里就跟大家分享1下,1个很好的方法就是在打开事件探测器时,在模板设置界面的第三个选项卡里面把"hostname"给选上,然后在第四个选项卡(数据列)里面找到hostname,打开目录树,设置“同于【你的计算机名字】”,点确定。这样事件探测器就只跟踪你电脑上的ERP在数据库做的操作记录。

 

你可以把有用的sql语句复制到查询分析器里面,然后select top 1 * from 只显示1行,会出来数据。这个数据跟前台ERP里面的数据去核对,你就知道这句sql在干嘛,他的每个字段代表什么意思。

 

用友做了很多的视图,对于我们做自定义报表取数据会很方便。但是这些视图的资料网上基本找不到,所以利用事件探测器可以接触到这些视图。

 

另外用友每句sql都会带1句set nocount on 其实这句话没什么意思,就是让sqlSERVER不给ERP返回此次操作影响的行数,这样可以节省流量。

 

先介绍到这里,利用这个方法可以解决很多很多问题,或者说可以提供很多解决问题的思路。

 

当然了,修改数据库数据之前都要备份数据库

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...