c# 獲取sqlserver 運行腳本的print消息的方法分享

来源:https://www.cnblogs.com/lairui1232000/archive/2019/11/06/11806672.html
-Advertisement-
Play Games

轉自: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消息完畢 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 依賴註入 當A類需要依賴於B類,也就是說需要在A類中實例化B類的對象來使用時候,如果B類中的功能發生改變,也會導致A類中使用B類的地方也要跟著修改,導致A類與B類高耦合。這個時候解決方式是,A類應該去依賴B類的介面,把具體的類的實例化交給外部。 就拿我們業務中常用的通知模塊來說。 1 2 3 4 5 ...
  • 1. 基礎數據類型補充 li = ["李嘉誠", "麻花藤", "⻩海峰", "劉嘉玲"] s = "_".join(li) print(s) li = "⻩花⼤閨⼥" s = "_".join(li) print(s) 列表: 迴圈刪除列表中的每⼀個元素 li = [11, 22, 33, 44] ...
  • Platform.runLater一些情況下沒有賦值到fx頁面上 採用task方式 ...
  • 以前寫過ASP.NET Core 2.x的REST API文章,今年再更新一下到3.0版本。 預備知識:ASP.NET Core 和 C# 以前寫過ASP.NET Core 2.x的REST API文章,今年再更新一下到3.0版本。 預備知識:ASP.NET Core 和 C# 工具:Visual ...
  • Moq 1 My Cases 1.1 簡單入門 2 Reference 2.1 Methods 2.2 Matching Arguments 2.3 Properties 2.4 Events 2.5 Callbacks 2.6 Verification 2.7 Customizing Mock B ...
  • 前兩篇簡單談了一些.Net Core的優勢以及機構設計的一些思路,這一篇開始,我們將從零開始搭建架構,底層我們將採用EF來訪問資料庫,所以這篇我們將貼一下EF常用操作的基類。 簡單介紹下一些類庫將要實現的功能: Business:業務實現層 Domains:實體(Model) Service:介面 ...
  • 我不想浪費大家的時間,直接奔主題了。 首先大家要明白,WPF跟Winform的區別,優點,缺點。 首先入門來講 Winform簡單點,WPF會難一點。所以第一次接觸C# 我推薦用Winform項目去學習。 WPF的優勢在於有模板的概念,首先動畫效果,或者複雜的佈局實現起來比較容易,缺點是代碼量大,不 ...
  • 一、Angel工作室簡單通用許可權系統簡介 AngelRM(Asp.net MVC Web api)是基於asp.net(C#)MVC+前端bootstrap+ztree+lodash+jquery技術,採用bootstrap為前臺開發展示UI,Web Api主要負責前端的邏輯交互,再結合jQuery ...
一周排行
    -Advertisement-
    Play Games
  • C#TMS系統代碼-基礎頁面BaseCity學習 本人純新手,剛進公司跟領導報道,我說我是java全棧,他問我會不會C#,我說大學學過,他說這個TMS系統就給你來管了。外包已經把代碼給我了,這幾天先把增刪改查的代碼背一下,說不定後面就要趕鴨子上架了 Service頁面 //using => impo ...
  • 委托與事件 委托 委托的定義 委托是C#中的一種類型,用於存儲對方法的引用。它允許將方法作為參數傳遞給其他方法,實現回調、事件處理和動態調用等功能。通俗來講,就是委托包含方法的記憶體地址,方法匹配與委托相同的簽名,因此通過使用正確的參數類型來調用方法。 委托的特性 引用方法:委托允許存儲對方法的引用, ...
  • 前言 這幾天閑來沒事看看ABP vNext的文檔和源碼,關於關於依賴註入(屬性註入)這塊兒產生了興趣。 我們都知道。Volo.ABP 依賴註入容器使用了第三方組件Autofac實現的。有三種註入方式,構造函數註入和方法註入和屬性註入。 ABP的屬性註入原則參考如下: 這時候我就開始疑惑了,因為我知道 ...
  • C#TMS系統代碼-業務頁面ShippingNotice學習 學一個業務頁面,ok,領導開完會就被裁掉了,很突然啊,他收拾東西的時候我還以為他要旅游提前請假了,還在尋思為什麼回家連自己買的幾箱飲料都要叫跑腿帶走,怕被偷嗎?還好我在他開會之前拿了兩瓶芬達 感覺感覺前面的BaseCity差不太多,這邊的 ...
  • 概述:在C#中,通過`Expression`類、`AndAlso`和`OrElse`方法可組合兩個`Expression<Func<T, bool>>`,實現多條件動態查詢。通過創建表達式樹,可輕鬆構建複雜的查詢條件。 在C#中,可以使用AndAlso和OrElse方法組合兩個Expression< ...
  • 閑來無聊在我的Biwen.QuickApi中實現一下極簡的事件匯流排,其實代碼還是蠻簡單的,對於初學者可能有些幫助 就貼出來,有什麼不足的地方也歡迎板磚交流~ 首先定義一個事件約定的空介面 public interface IEvent{} 然後定義事件訂閱者介面 public interface I ...
  • 1. 案例 成某三甲醫預約系統, 該項目在2024年初進行上線測試,在正常運行了兩天後,業務系統報錯:The connection pool has been exhausted, either raise MaxPoolSize (currently 800) or Timeout (curren ...
  • 背景 我們有些工具在 Web 版中已經有了很好的實踐,而在 WPF 中重新開發也是一種費時費力的操作,那麼直接集成則是最省事省力的方法了。 思路解釋 為什麼要使用 WPF?莫問為什麼,老 C# 開發的堅持,另外因為 Windows 上已經裝了 Webview2/edge 整體打包比 electron ...
  • EDP是一套集組織架構,許可權框架【功能許可權,操作許可權,數據訪問許可權,WebApi許可權】,自動化日誌,動態Interface,WebApi管理等基礎功能於一體的,基於.net的企業應用開發框架。通過友好的編碼方式實現數據行、列許可權的管控。 ...
  • .Net8.0 Blazor Hybird 桌面端 (WPF/Winform) 實測可以完整運行在 win7sp1/win10/win11. 如果用其他工具打包,還可以運行在mac/linux下, 傳送門BlazorHybrid 發佈為無依賴包方式 安裝 WebView2Runtime 1.57 M ...