ストアド プロシージャがエラーを発生させたが、クライアント (vb.net) がエラーをキャッチしなかったなど、誰かが既にこのエラーに遭遇しましたか?
以下は、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'。メッセージ 50000、レベル 16、状態 1、プロシージャ RefreshDependentViews、行 299 RefreshDependentViews CustomerSalesOrder の実行中にエラーが発生しました: SP_REFRESHVIEW _Merged_SalesOrder_ に失敗しました。メッセージ: オブジェクト名 'dbo._Merged_SalesOrder_with_Details' が無効です。RefreshDependentViews CustomerSalesOrder の実行中にエラーが発生しました: SP_REFRESHVIEW _SOG_New に失敗しました。メッセージ: オブジェクト名 'Hips54.dbo.SupplierPurchaseReceiptDetailView' が無効です。
上記のエラーは、vb.net の try-catch ではキャッチされませんでした。SPでエラーが発生していないようです