通过ADO.NET访问SQL Server的邮件 [英] Access to SQL Server messages via ADO.NET
问题描述
是否有可能通过ADO.NET访问SQL Server的副产品消息?由于缺乏的话,按副产品消息我的意思是出现在Microsoft SQL Server Management Studio中的消息选项卡的输出。我特别有它的初衷就是读SET STATISTICS TIME ON的输出。看来,SqlDataReader的不提供在这个问题上任何东西。
Is it possible to access the SQL Server "by-product messages" via ADO.NET? Due to the lack of words, by "by-product messages" I mean the output which appears in the Messages tab in Microsoft SQL Server Management Studio. What I particularly have it mind is to read the output of SET STATISTICS TIME ON. It appears that SqlDataReader does not offer anything in this matter.
推荐答案
是的,有一个名为SqlInfoMessage SqlCommand对象,您可以连接到一个事件挂钩:
Yes, there's an event hook on the SqlCommand object called SqlInfoMessage, which you can hook into:
SqlConnection _con =
new SqlConnection("server=.;database=Northwind;integrated Security=SSPI;");
_con.InfoMessage += new SqlInfoMessageEventHandler(InfoMessageHandler);
该事件处理程序将是这样的:
The event handler will look like this:
static void InfoMessageHandler(object sender, SqlInfoMessageEventArgs e)
{
string myMsg = e.Message;
}
在e.Message是打印出来,在SQL Server管理工作室。
The "e.Message" is the message printed out to the message window in SQL Server Mgmt Studio.
马克·
这篇关于通过ADO.NET访问SQL Server的邮件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!