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

来源:互联网 发布:骂交警被拘 知乎 编辑:程序博客网 时间:2024/04/29 18:04

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返回此次操作影响的行数,这样可以节省流量。

 

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

 

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

原创粉丝点击