我正在尝试捕获下面这个C#.net Web应用程序的Db查询。
如果我通过代理它来使用DbProviderfactory,还有办法。但是,如果我直接使用SqlConnection和SqlCommand,而不是使用DbProviderFactory,如何跟踪我的数据库调用?
SqlConnection myConn = new SqlConnection(@"Server=192.168.23.99;Initial Catalog=cat1;User ID=user21;Password=userpwd");
SqlCommand myCommand = new SqlCommand("select * from table1", myConn);
SqlDataReader dataReader;
System.Threading.Thread.Sleep(5000);
try
{
myConn.Open();
dataReader = myCommand.ExecuteReader();
GridView1.DataSource = dataReader;
GridView1.DataBind();
dataReader.Close();
myCommand.Dispose();
myConn.Close();
}
catch (System.Exception ex)
{
Response.Write(ex.ToString());
}
我知道有一些分析器可以追踪这个。但是,我想在我自己的程序中这样做。
基本上我需要在Web请求中分析Db Connection和Db命令,其中不使用DbProviderFactories。我是开发.Net的分析器的新手,所以我希望有一些指导方针来做这件事。
感谢。
答案 0 :(得分:0)
简单,只需运行SQL事件探查器,当您跳过myCommand.ExecuteReader()行时,请查看在事件探查器中运行的SQL。
有关详细信息,请参阅: https://msdn.microsoft.com/en-us/library/ff650699.aspx