![](/img/trans.png)
[英]SqlConnection InfoMessage not working with BeginExecuteNonQuery
[英]c# - SqlConnection InfoMessage triggering only at end of execution
我在用
sqlConnection.InfoMessage += new SqlInfoMessageEventHandler(sqlConnection_InfoMessage);
和ExecuteNonQuery()
來執行存儲過程。
我在存儲過程中使用RAISERROR("Custom Message", 10 , 1) WITH NOWAIT
來拋出消息。
我正在獲取sql server在查詢執行結束時拋出的所有消息,我想要在進程時。
我可以通過設置sqlConnection.FireInfoMessageEventOnUserErrors = true;
實時獲取所有消息sqlConnection.FireInfoMessageEventOnUserErrors = true;
但這導致嚴重性大於10的錯誤也由SqlInfoMessageEventHandler
處理,我希望將其作為異常拋出。
有沒有什么方法可以在eventHandler中實時獲取嚴重程度為10的自定義sql信息快照,但是其他異常?
似乎問題出在ExecuteNonQuery()
。
在我的例子中,我使用了ExecuteScalar()
並刪除了該行
sqlConnection.FireInfoMessageEventOnUserErrors = true;
這導致RAISERROR("Custom Message", 10 , 1) WITH NOWAIT
被eventHandler和其他實時異常捕獲。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.