SSISパッケージを構築してイベントハンドラを実装しようとしています。SSIS OnError EventHandlerはテーブルにエントリを作成しますが、挿入された行は表示されません。
私は、エラーが完全なプロセスのどこにでも発生するたびに、ログエントリがシステム:: sourcenameに、システム:: ErrorDescription、システム::のErrorCodeとシステムを使用してテーブルになされるべきであることを望ん:: ExecutionInstanceGUID 。このため
以下に示すように、私はテーブルを作成しました:
CREATE TABLE [dbo].[ErrorLog]([LogID] [int] IDENTITY(1,1) NOT NULL,
[ExecutionID] [nvarchar](255) NULL,[SourceName] [varchar](255) NOT NULL,
[Message] [nvarchar](max) NOT NULL,
[MessageCode] [int] NOT NULL,
[LogDateTime] [datetime] NOT NULL
) ON [PRIMARY]
私はパッケージレベルでONERRORイベントハンドラを作成しました。 使用されるSQLクエリは です。INSERT INTO [ErrorLog](ExecutionID]、[SourceName]、[MessageCode]、
[LogDateTime])VALUES(?、?、?、?、getdate())
私が直面している問題は、パッケージのどこにでもエラーが発生した場合、イベントハンドラは緑色になり、呼び出しを示してもデータベース内のテーブルにエントリが表示されません。
しかし、手動でそのテーブルに新しい行を作成するたびに新しい行が列[LogID]の次のID値で追加されるたびにエラーが発生するたびに行が挿入されることを確信しています。例について
、LOGID列の値は、であり、エラーがパッケージ内に発生し、NO行が加えられていない取得し、私はのErrorLog表手動でレコードを挿入する際に挿入アイデンティティがある。仮定
何が問題なのかよく分かりません。
私はこの修正プログラムに含まれており、本当に助けに感謝します。これは、挿入のように見える
おかげ Mohit
私はあなたが挿入ステートメントの?sを引用符で囲む必要があると思います: '?'。 –