首页新闻找找看学习计划

ado.net SQL 跟踪?

0
悬赏园豆:50 [已解决问题] 解决于 2017-09-14 16:40

.net里有没有办法跟踪记录代码断里执行过的SQL。

如果我有一段伪代码如下:

复制代码
var a = 1;
var b = 2;
开启SQL跟踪代码;
InsertStudent(); //SQL操作
InsertTeacher(); //SQL操作
关闭SQL跟踪代码;
复制代码

我想拿到我在上面代码跟踪里执行的SQL,有没有第三方或什么技术可以拿到。类似HOOK的功能。

InsertStudent(); //SQL操作

InsertTeacher(); //SQL操作

以上两句的源代码我可能没有或者是第三方的dll, 但都使用的ado.net

问题补充:

------------------------------

沧海一杰的主页 沧海一杰 | 初学一级 | 园豆:28
提问于:2017-08-26 10:54
< >
分享
最佳答案
0

你可以把调用到.net的方法进行包装,然后在包装层把所有的SQL全都记录下来。

收获园豆:20
幻天芒 | 高人七级 |园豆:36522 | 2017-08-26 10:59

没有源码怎么办呢?

沧海一杰 | 园豆:28 (初学一级) | 2017-08-26 10:59

@沧海一杰: 没有源码,那就在数据库层面进行监控。https://docs.microsoft.com/en-us/sql/tools/sql-server-profiler/sql-server-profiler 

幻天芒 | 园豆:36522 (高人七级) | 2017-08-26 15:36

@幻天芒: 问题是我想把出问题的sql写入日志文件。

沧海一杰 | 园豆:28 (初学一级) | 2017-08-28 16:22

@沧海一杰: 那你只能反编译dll了。

幻天芒 | 园豆:36522 (高人七级) | 2017-08-28 18:53
其他回答(2)
0

sql server profiler

收获园豆:15
分进合击 | 园豆:127 (初学一级) | 2017-08-26 14:55
0

两种方法:

1、跟踪到对应方法内部,操作ADO那一层的。看看执行了什么SQL语句

2、使用数据库自带的sql server profiler

收获园豆:15
chengeng | 园豆:292 (菜鸟二级) | 2017-08-29 16:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册