有人已經遇到過這樣的錯誤,像存儲過程引發錯誤,但客戶端(vb.net)沒有發現錯誤?VB.Net不捕捉存儲過程raiserror
下面是我的代碼調用存儲過程從vb.net
Try
Dim exec_refreshdependentviews As String = String.Format("EXEC REFRESHDEPENDENTVIEWS '{0}', '{1}', {2} ", tableName, usercode, isCreateNew)
Using refreshCommand As New SqlClient.SqlCommand(exec_refreshdependentviews, DirectCast(sqlTransaction.Connection, SqlClient.SqlConnection), DirectCast(sqlTransaction, SqlClient.SqlTransaction))
refreshCommand.ExecuteNonQuery()
End Using
Catch exc As SqlClient.SqlException
Throw New Exception("REFRESHDEPENDENTVIEWS", exc)
Catch ex As Exception
Throw New Exception("REFRESHDEPENDENTVIEWS", ex)
End Try
存儲過程中我提出了一個錯誤,其消息是從SP內部遇到的累積誤差內。
RAISERROR (@Errors, 16, 1)
請注意@Errors有一個值。
當我試圖通過後端運行腳本時,可以在消息選項卡中看到錯誤消息消息。
EXEC RefreshDependentViews 'CustomerSalesOrder', 'admin', 1
以下是累計的錯誤消息。
消息50000,級別16,狀態6,過程RefreshDependentViews,行 216無效的對象名稱dbo._Merged_SalesOrder_with_Details「。消息 50000,級別16,狀態1,過程RefreshDependentViews,行216 無效的對象名稱'Hips54.dbo.SupplierPurchaseReceiptDetailView'。 運行RefreshDependentViews CustomerSalesOrder的錯誤50000,級別16,狀態1,過程RefreshDependentViews,行 :未能到 SP_REFRESHVIEW _Merged_SalesOrder_。消息:無效的對象名稱 'dbo._Merged_SalesOrder_with_Details'。運行時出錯 RefreshDependentViews CustomerSalesOrder:SP_REFRESHVIEW失敗 _SOG_New。消息:無效的對象名稱'Hips54.dbo.SupplierPurchaseReceiptDetailView'。
上述錯誤未被vb.net中的try-catch所捕獲。這就像沒有在我的SP
SP中放置了RAISERROR嗎? – Ric
顯示您的SP代碼。如果SP拋出一個,VB.NET將捕獲錯誤。 – Steve