欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

c# 获取sqlserver 运行脚本的print消息的方法分享

程序员文章站 2023-11-15 16:56:28
转自:http://www.maomao365.com/?p=6923 摘要: 在sql脚本的编写中,我们经常使用sql脚本print消息,作为输出测试, 通过获取print消息,我们可以快速获取程序中的错误信息,下文讲述通过 SqlInfoMessageEventHandler 获取print信息 ......

转自:http://www.maomao365.com/?p=6923 

摘要:
在sql脚本的编写中,我们经常使用sql脚本print消息,作为输出测试,
通过获取print消息,我们可以快速获取程序中的错误信息,下文讲述通过 sqlinfomessageeventhandler 获取print信息,如下所示:
实验环境:sqlserver 2008 r2 


 

using system;
using system.collections.generic;
using system.linq;
using system.web;
using system.web.ui;
using system.web.ui.webcontrols;


using system.data; 
using system.data.sqlclient;
namespace webapplication1
{
public partial class _default : system.web.ui.page
{


webcrm.sag tmp = new webcrm.sag();

protected void page_load(object sender, eventargs e)
{
/*获取 sql print的消息信息*/
string connectionstring = "data source=***********;initial catalog=boss;user id=sa;password=erp;";

using (sqlconnection sqlcon = new sqlconnection(connectionstring))
{
sqlcon.open();
sqlcon.infomessage += new sqlinfomessageeventhandler(onreceivinginfomessage);
/* 查询某个表上的索引碎片的详细信息 */
sqlcommand cmd = new sqlcommand("print '输出消息1'; set statistics io on ;select * from [ierror] ; print '输出sql消息完毕'", sqlcon);
cmd.commandtype = commandtype.text;
cmd.executenonquery();
}
console.read();


}

 

private void onreceivinginfomessage(object sender, sqlinfomessageeventargs e)
{ 
response.write("输出sql消息:" + e.message.tostring());
}

 


}
}

 

----------------------输出-------------------------------------------------------------------------
输出sql消息:输出消息1
表 'ierror'。扫描计数 1,逻辑读取 1 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。
输出sql消息完毕