標題所描述的功能是簡單的,下面的例子也很簡單,但是你可以根據自己的需要進行擴充功能,我這裡只是拋磚引玉而以,呵呵……,其實你有時間可以自己做一個SQL Server Profiler玩一玩。
第一步:
添加引用:Microsoft.SqlServer.ConnectionInfousing Microsoft.SqlServer.Management.Trace;
using Microsoft.SqlServer.Management.Common;
第二步:
配置串連資訊 ConnectionInfoBase conninfo = new SqlConnectionInfo();
((SqlConnectionInfo)conninfo).ServerName = "ServerName";
((SqlConnectionInfo)conninfo).UserName = "UserName";
((SqlConnectionInfo)conninfo).Password = "Password";
((SqlConnectionInfo)conninfo).UseIntegratedSecurity = false;
第三步:
建立mytdf.tdf檔案,放入運行程式所在的檔案夾裡。
註:.tdf檔案是用來在後面做為讀取資料的模版用的,你可以在SQL Server Profiler裡建立模版自己建立一個新的檔案。
讀取資訊(包括T-SQL語句等等,按需要添加,這裡只添加擷取正在執行的T-SQL語句功能) TraceServer trace = new TraceServer();
trace.InitializeAsReader(conninfo, "mytdf.tdf");
while (trace.Read())
{
//Statements;
Console.WriteLine(trace["TextData"]);
}
Console.Read();
trace.Close();
全部代碼:Code
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Management.Trace;
using Microsoft.SqlServer.Management.Common;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
ConnectionInfoBase conninfo = new SqlConnectionInfo();
((SqlConnectionInfo)conninfo).ServerName = "ServerName";
((SqlConnectionInfo)conninfo).UserName = "UserName";
((SqlConnectionInfo)conninfo).Password = "Password";
((SqlConnectionInfo)conninfo).UseIntegratedSecurity = false;
TraceServer trace = new TraceServer();
trace.InitializeAsReader(conninfo, "mytdf.tdf");
while (trace.Read())
{
//Statements;
Console.WriteLine(trace["TextData"]);
}
Console.Read();
trace.Close();
}
}
}