• c# 获取sqlserver 运行脚本的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消息完毕 

  • 相关阅读:
    JavaSE:和网络相关的协议
    随机产生四位,任意位或者范围数字方法
    随机产生四位,任意位或者范围数字方法
    如何保留小数精度
    如何保留小数精度
    JDK开发环境搭建及环境变量配置详细教程
    JDK开发环境搭建及环境变量配置详细教程
    排序算法
    html中a标签如何设置行宽高
    MyEclipse10破解详细说明
  • 原文地址:https://www.cnblogs.com/lairui1232000/p/11806672.html
Copyright © 2020-2023  润新知