2016-12-14 5 views
1

Ich habe ein Problem ... Ich habe einen OLE DB-Fehler, der in INSERT-Anweisung als Konflikt mit der FOREIGN KEY-Einschränkung aufgetreten ist. SSIS-Paket eturn diese 3 Fehler:SSIS OLE Ziel mehrere Fehlerausgabe

[OLE_DEST PollOptionUserResult [43]] Error: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005. An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80004005 Description: "The statement has been terminated.". An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80004005 Description: "The INSERT statement conflicted with the FOREIGN KEY constraint "FK_PollOptionUserResult_PollUserResult". The conflict occurred in database "dw_ismsES", table "ten.PollUserResult", column 'PollUserResultID'.".

[OLE_DEST PollOptionUserResult [43]] Error: SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR. The "OLE_DEST PollOptionUserResult.Inputs[OLE DB Destination Input]" failed because error code 0xC020907B occurred, and the error row disposition on "OLE_DEST PollOptionUserResult.Inputs[OLE DB Destination Input]" specifies failure on error. An error occurred on the specified object of the specified component. There may be error messages posted before this with more information about the failure.

[SSIS.Pipeline] Error: SSIS Error Code DTS_E_PROCESSINPUTFAILED. The ProcessInput method on component "OLE_DEST PollOptionUserResult" (43) failed with error code 0xC0209029 while processing input "OLE DB Destination Input" (56). The identified component returned an error from the ProcessInput method. The error is specific to the component, but the error is fatal and will cause the Data Flow task to stop running. There may be error messages posted before this with more information about the failure.

Wenn ich umleiten versuchen Fehler zu meinen error_table, es intern aus irgendeinem Grund nehmen die letzte und nicht die erste, die ich brauche.

Wie kann ich es verpflichten, den ersten Fehler zu nehmen?

+0

Welche Komponente/Code verwenden Sie, um den Fehler umzuleiten? –

+0

Können Sie ein Bild Ihrer Fehlerkonfiguration posten? –

+0

Sie könnten Ihre Fehlerlogik in ein Fehlerereignis einfügen. Jedes Mal, wenn ein Fehler erstellt wird, wird er in Ihrer error_table protokolliert. – rafaelbattesti

Antwort

0

In meinem Fall (SSIS 2008), Ich habe ein OnError Ereignis im Paketebene, so dass jeder Fehler in dem Paket angemeldet geschehen würde, und zwar unabhängig davon, wo sie geschehen. Wenn ich diesen Ansatz nehme, sollten alle 3 Fehler in meiner Fehlertabelle protokolliert werden. I.e.

enter image description here

Bitte versuchen Sie diesen Ansatz und sehen, was Sie erhalten.

Verwandte Themen