3

我正在尝试为下面的 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 开发分析器的新手,所以我希望有一些指导方针可以做到这一点。

谢谢。

4

1 回答 1

0

很简单,只需运行 SQL Profiler,当您越过 myCommand.ExecuteReader() 行时,观察分析器中运行的 SQL。

有关详细信息,请参阅: https ://msdn.microsoft.com/en-us/library/ff650699.aspx

于 2015-05-16T18:24:11.107 回答