How to determine faulty row/column in SSIS transformation












0















I'm running a DTSX package to move data from SQL to Postgres using the PGOLEDB Native Postgres driver and I'm receiving an error (below). How do I read this error and determine what row/column is causing the issue?



I'm receiving the following error (PGNP-SE-1.4.3076):



OnError,POSTGRESDEV,DOMAINUSERNAME,Data Flow Task 9,{1EE44D97-78DD-4175-8162-2520654A750A},{F27E0BD1-8850-4497-BD9B-BDAFA7BDA401},10/4/2012 8:46:13 AM,10/4/2012 8:46:13 AM,-1071636471,0x,SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005.
An OLE DB record is available. Source: "PostgreSQL Native Provider" Hresult: 0x80004005 Description: "ERROR: invalid byte sequence for encoding "UTF8": 0x96
CONTEXT: COPY TransHist, line 390
".

OnError,POSTGRESDEV,DOMAINUSERNAME,full_export_new,{79EBE819-217A-4AB2-BF58-45A6D6A3B4B8},{F27E0BD1-8850-4497-BD9B-BDAFA7BDA401},10/4/2012 8:46:13 AM,10/4/2012 8:46:13 AM,-1071636471,0x,SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005.
An OLE DB record is available. Source: "PostgreSQL Native Provider" Hresult: 0x80004005 Description: "ERROR: invalid byte sequence for encoding "UTF8": 0x96
CONTEXT: COPY TransHist, line 390
".

OnError,POSTGRESDEV,DOMAINUSERNAME,Data Flow Task 9,{1EE44D97-78DD-4175-8162-2520654A750A},{F27E0BD1-8850-4497-BD9B-BDAFA7BDA401},10/4/2012 8:46:13 AM,10/4/2012 8:46:13 AM,-1071607767,0x,SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR. The "input "Destination Input" (95)" failed because error code 0xC020907B occurred, and the error row disposition on "input "Destination Input" (95)" 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.

OnError,POSTGRESDEV,DOMAINUSERNAME,full_export_new,{79EBE819-217A-4AB2-BF58-45A6D6A3B4B8},{F27E0BD1-8850-4497-BD9B-BDAFA7BDA401},10/4/2012 8:46:13 AM,10/4/2012 8:46:13 AM,-1071607767,0x,SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR. The "input "Destination Input" (95)" failed because error code 0xC020907B occurred, and the error row disposition on "input "Destination Input" (95)" 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.

OnError,POSTGRESDEV,DOMAINUSERNAME,Data Flow Task 9,{1EE44D97-78DD-4175-8162-2520654A750A},{F27E0BD1-8850-4497-BD9B-BDAFA7BDA401},10/4/2012 8:46:13 AM,10/4/2012 8:46:13 AM,-1073450974,0x,SSIS Error Code DTS_E_PROCESSINPUTFAILED. The ProcessInput method on component "Destination 40 - TransHist" (82) failed with error code 0xC0209029 while processing input "Destination Input" (95). 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.

OnError,POSTGRESDEV,DOMAINUSERNAME,full_export_new,{79EBE819-217A-4AB2-BF58-45A6D6A3B4B8},{F27E0BD1-8850-4497-BD9B-BDAFA7BDA401},10/4/2012 8:46:13 AM,10/4/2012 8:46:13 AM,-1073450974,0x,SSIS Error Code DTS_E_PROCESSINPUTFAILED. The ProcessInput method on component "Destination 40 - TransHist" (82) failed with error code 0xC0209029 while processing input "Destination Input" (95). 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.


UPDATE:
I think the encoding error is a red-herring. When I run this it fails on row 1000 (successfully writes 999 rows). If I change the source to a view that limits the results to less than 1000 rows (say 500) it succeeds (but obviously not all the data is moved). If I change the destinations connection string to BULK_INSERT=500...it will fail on row 500 and if I change the view to less than 500 it succeeds.



UPDATE 2:
Setting BULK_INSERT to 0 fixes the issue...I'm sure that has negative effects on performance though.










share|improve this question

























  • Looks like this may be/may have been a bug in PGOLEDB. Note that this question and the linked PGOLEDB forum post are from the same month an year.

    – Bacon Bits
    Mar 31 '17 at 16:09
















0















I'm running a DTSX package to move data from SQL to Postgres using the PGOLEDB Native Postgres driver and I'm receiving an error (below). How do I read this error and determine what row/column is causing the issue?



I'm receiving the following error (PGNP-SE-1.4.3076):



OnError,POSTGRESDEV,DOMAINUSERNAME,Data Flow Task 9,{1EE44D97-78DD-4175-8162-2520654A750A},{F27E0BD1-8850-4497-BD9B-BDAFA7BDA401},10/4/2012 8:46:13 AM,10/4/2012 8:46:13 AM,-1071636471,0x,SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005.
An OLE DB record is available. Source: "PostgreSQL Native Provider" Hresult: 0x80004005 Description: "ERROR: invalid byte sequence for encoding "UTF8": 0x96
CONTEXT: COPY TransHist, line 390
".

OnError,POSTGRESDEV,DOMAINUSERNAME,full_export_new,{79EBE819-217A-4AB2-BF58-45A6D6A3B4B8},{F27E0BD1-8850-4497-BD9B-BDAFA7BDA401},10/4/2012 8:46:13 AM,10/4/2012 8:46:13 AM,-1071636471,0x,SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005.
An OLE DB record is available. Source: "PostgreSQL Native Provider" Hresult: 0x80004005 Description: "ERROR: invalid byte sequence for encoding "UTF8": 0x96
CONTEXT: COPY TransHist, line 390
".

OnError,POSTGRESDEV,DOMAINUSERNAME,Data Flow Task 9,{1EE44D97-78DD-4175-8162-2520654A750A},{F27E0BD1-8850-4497-BD9B-BDAFA7BDA401},10/4/2012 8:46:13 AM,10/4/2012 8:46:13 AM,-1071607767,0x,SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR. The "input "Destination Input" (95)" failed because error code 0xC020907B occurred, and the error row disposition on "input "Destination Input" (95)" 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.

OnError,POSTGRESDEV,DOMAINUSERNAME,full_export_new,{79EBE819-217A-4AB2-BF58-45A6D6A3B4B8},{F27E0BD1-8850-4497-BD9B-BDAFA7BDA401},10/4/2012 8:46:13 AM,10/4/2012 8:46:13 AM,-1071607767,0x,SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR. The "input "Destination Input" (95)" failed because error code 0xC020907B occurred, and the error row disposition on "input "Destination Input" (95)" 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.

OnError,POSTGRESDEV,DOMAINUSERNAME,Data Flow Task 9,{1EE44D97-78DD-4175-8162-2520654A750A},{F27E0BD1-8850-4497-BD9B-BDAFA7BDA401},10/4/2012 8:46:13 AM,10/4/2012 8:46:13 AM,-1073450974,0x,SSIS Error Code DTS_E_PROCESSINPUTFAILED. The ProcessInput method on component "Destination 40 - TransHist" (82) failed with error code 0xC0209029 while processing input "Destination Input" (95). 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.

OnError,POSTGRESDEV,DOMAINUSERNAME,full_export_new,{79EBE819-217A-4AB2-BF58-45A6D6A3B4B8},{F27E0BD1-8850-4497-BD9B-BDAFA7BDA401},10/4/2012 8:46:13 AM,10/4/2012 8:46:13 AM,-1073450974,0x,SSIS Error Code DTS_E_PROCESSINPUTFAILED. The ProcessInput method on component "Destination 40 - TransHist" (82) failed with error code 0xC0209029 while processing input "Destination Input" (95). 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.


UPDATE:
I think the encoding error is a red-herring. When I run this it fails on row 1000 (successfully writes 999 rows). If I change the source to a view that limits the results to less than 1000 rows (say 500) it succeeds (but obviously not all the data is moved). If I change the destinations connection string to BULK_INSERT=500...it will fail on row 500 and if I change the view to less than 500 it succeeds.



UPDATE 2:
Setting BULK_INSERT to 0 fixes the issue...I'm sure that has negative effects on performance though.










share|improve this question

























  • Looks like this may be/may have been a bug in PGOLEDB. Note that this question and the linked PGOLEDB forum post are from the same month an year.

    – Bacon Bits
    Mar 31 '17 at 16:09














0












0








0








I'm running a DTSX package to move data from SQL to Postgres using the PGOLEDB Native Postgres driver and I'm receiving an error (below). How do I read this error and determine what row/column is causing the issue?



I'm receiving the following error (PGNP-SE-1.4.3076):



OnError,POSTGRESDEV,DOMAINUSERNAME,Data Flow Task 9,{1EE44D97-78DD-4175-8162-2520654A750A},{F27E0BD1-8850-4497-BD9B-BDAFA7BDA401},10/4/2012 8:46:13 AM,10/4/2012 8:46:13 AM,-1071636471,0x,SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005.
An OLE DB record is available. Source: "PostgreSQL Native Provider" Hresult: 0x80004005 Description: "ERROR: invalid byte sequence for encoding "UTF8": 0x96
CONTEXT: COPY TransHist, line 390
".

OnError,POSTGRESDEV,DOMAINUSERNAME,full_export_new,{79EBE819-217A-4AB2-BF58-45A6D6A3B4B8},{F27E0BD1-8850-4497-BD9B-BDAFA7BDA401},10/4/2012 8:46:13 AM,10/4/2012 8:46:13 AM,-1071636471,0x,SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005.
An OLE DB record is available. Source: "PostgreSQL Native Provider" Hresult: 0x80004005 Description: "ERROR: invalid byte sequence for encoding "UTF8": 0x96
CONTEXT: COPY TransHist, line 390
".

OnError,POSTGRESDEV,DOMAINUSERNAME,Data Flow Task 9,{1EE44D97-78DD-4175-8162-2520654A750A},{F27E0BD1-8850-4497-BD9B-BDAFA7BDA401},10/4/2012 8:46:13 AM,10/4/2012 8:46:13 AM,-1071607767,0x,SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR. The "input "Destination Input" (95)" failed because error code 0xC020907B occurred, and the error row disposition on "input "Destination Input" (95)" 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.

OnError,POSTGRESDEV,DOMAINUSERNAME,full_export_new,{79EBE819-217A-4AB2-BF58-45A6D6A3B4B8},{F27E0BD1-8850-4497-BD9B-BDAFA7BDA401},10/4/2012 8:46:13 AM,10/4/2012 8:46:13 AM,-1071607767,0x,SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR. The "input "Destination Input" (95)" failed because error code 0xC020907B occurred, and the error row disposition on "input "Destination Input" (95)" 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.

OnError,POSTGRESDEV,DOMAINUSERNAME,Data Flow Task 9,{1EE44D97-78DD-4175-8162-2520654A750A},{F27E0BD1-8850-4497-BD9B-BDAFA7BDA401},10/4/2012 8:46:13 AM,10/4/2012 8:46:13 AM,-1073450974,0x,SSIS Error Code DTS_E_PROCESSINPUTFAILED. The ProcessInput method on component "Destination 40 - TransHist" (82) failed with error code 0xC0209029 while processing input "Destination Input" (95). 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.

OnError,POSTGRESDEV,DOMAINUSERNAME,full_export_new,{79EBE819-217A-4AB2-BF58-45A6D6A3B4B8},{F27E0BD1-8850-4497-BD9B-BDAFA7BDA401},10/4/2012 8:46:13 AM,10/4/2012 8:46:13 AM,-1073450974,0x,SSIS Error Code DTS_E_PROCESSINPUTFAILED. The ProcessInput method on component "Destination 40 - TransHist" (82) failed with error code 0xC0209029 while processing input "Destination Input" (95). 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.


UPDATE:
I think the encoding error is a red-herring. When I run this it fails on row 1000 (successfully writes 999 rows). If I change the source to a view that limits the results to less than 1000 rows (say 500) it succeeds (but obviously not all the data is moved). If I change the destinations connection string to BULK_INSERT=500...it will fail on row 500 and if I change the view to less than 500 it succeeds.



UPDATE 2:
Setting BULK_INSERT to 0 fixes the issue...I'm sure that has negative effects on performance though.










share|improve this question
















I'm running a DTSX package to move data from SQL to Postgres using the PGOLEDB Native Postgres driver and I'm receiving an error (below). How do I read this error and determine what row/column is causing the issue?



I'm receiving the following error (PGNP-SE-1.4.3076):



OnError,POSTGRESDEV,DOMAINUSERNAME,Data Flow Task 9,{1EE44D97-78DD-4175-8162-2520654A750A},{F27E0BD1-8850-4497-BD9B-BDAFA7BDA401},10/4/2012 8:46:13 AM,10/4/2012 8:46:13 AM,-1071636471,0x,SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005.
An OLE DB record is available. Source: "PostgreSQL Native Provider" Hresult: 0x80004005 Description: "ERROR: invalid byte sequence for encoding "UTF8": 0x96
CONTEXT: COPY TransHist, line 390
".

OnError,POSTGRESDEV,DOMAINUSERNAME,full_export_new,{79EBE819-217A-4AB2-BF58-45A6D6A3B4B8},{F27E0BD1-8850-4497-BD9B-BDAFA7BDA401},10/4/2012 8:46:13 AM,10/4/2012 8:46:13 AM,-1071636471,0x,SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005.
An OLE DB record is available. Source: "PostgreSQL Native Provider" Hresult: 0x80004005 Description: "ERROR: invalid byte sequence for encoding "UTF8": 0x96
CONTEXT: COPY TransHist, line 390
".

OnError,POSTGRESDEV,DOMAINUSERNAME,Data Flow Task 9,{1EE44D97-78DD-4175-8162-2520654A750A},{F27E0BD1-8850-4497-BD9B-BDAFA7BDA401},10/4/2012 8:46:13 AM,10/4/2012 8:46:13 AM,-1071607767,0x,SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR. The "input "Destination Input" (95)" failed because error code 0xC020907B occurred, and the error row disposition on "input "Destination Input" (95)" 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.

OnError,POSTGRESDEV,DOMAINUSERNAME,full_export_new,{79EBE819-217A-4AB2-BF58-45A6D6A3B4B8},{F27E0BD1-8850-4497-BD9B-BDAFA7BDA401},10/4/2012 8:46:13 AM,10/4/2012 8:46:13 AM,-1071607767,0x,SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR. The "input "Destination Input" (95)" failed because error code 0xC020907B occurred, and the error row disposition on "input "Destination Input" (95)" 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.

OnError,POSTGRESDEV,DOMAINUSERNAME,Data Flow Task 9,{1EE44D97-78DD-4175-8162-2520654A750A},{F27E0BD1-8850-4497-BD9B-BDAFA7BDA401},10/4/2012 8:46:13 AM,10/4/2012 8:46:13 AM,-1073450974,0x,SSIS Error Code DTS_E_PROCESSINPUTFAILED. The ProcessInput method on component "Destination 40 - TransHist" (82) failed with error code 0xC0209029 while processing input "Destination Input" (95). 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.

OnError,POSTGRESDEV,DOMAINUSERNAME,full_export_new,{79EBE819-217A-4AB2-BF58-45A6D6A3B4B8},{F27E0BD1-8850-4497-BD9B-BDAFA7BDA401},10/4/2012 8:46:13 AM,10/4/2012 8:46:13 AM,-1073450974,0x,SSIS Error Code DTS_E_PROCESSINPUTFAILED. The ProcessInput method on component "Destination 40 - TransHist" (82) failed with error code 0xC0209029 while processing input "Destination Input" (95). 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.


UPDATE:
I think the encoding error is a red-herring. When I run this it fails on row 1000 (successfully writes 999 rows). If I change the source to a view that limits the results to less than 1000 rows (say 500) it succeeds (but obviously not all the data is moved). If I change the destinations connection string to BULK_INSERT=500...it will fail on row 500 and if I change the view to less than 500 it succeeds.



UPDATE 2:
Setting BULK_INSERT to 0 fixes the issue...I'm sure that has negative effects on performance though.







sql-server postgresql ssis






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 26 '16 at 22:34









Hadi

16.8k62570




16.8k62570










asked Oct 5 '12 at 16:32









WebjediWebjedi

3,41043553




3,41043553













  • Looks like this may be/may have been a bug in PGOLEDB. Note that this question and the linked PGOLEDB forum post are from the same month an year.

    – Bacon Bits
    Mar 31 '17 at 16:09



















  • Looks like this may be/may have been a bug in PGOLEDB. Note that this question and the linked PGOLEDB forum post are from the same month an year.

    – Bacon Bits
    Mar 31 '17 at 16:09

















Looks like this may be/may have been a bug in PGOLEDB. Note that this question and the linked PGOLEDB forum post are from the same month an year.

– Bacon Bits
Mar 31 '17 at 16:09





Looks like this may be/may have been a bug in PGOLEDB. Note that this question and the linked PGOLEDB forum post are from the same month an year.

– Bacon Bits
Mar 31 '17 at 16:09












1 Answer
1






active

oldest

votes


















0














A quick way to determine which row(s) are responsible for the error is to error behavior from the default of "fail component" to "redirect rows" and then pipe the error output to a flat file.



enter image description here



For your particular error, the key message is:




"ERROR: invalid byte sequence for encoding "UTF8": 0x96




Google'ing this string brings back a few hits indicating a string encoding issue. Here's a link from the google-results back to stackoverflow.



You could try using a data conversion task to specify the correct encoding in the data flow task or you could make adjustments on the destination system (but I'm not really familiar with Postgres so can't help you there)






share|improve this answer


























  • I think this error is a red-herring. I updated the question to show that it always fails at whatever the BULK_INSERT size is on the connection string. Thoughts?

    – Webjedi
    Oct 8 '12 at 16:08











  • This is the problem with Microsoft error codes - we have to google them! WTF !!! I spend more time hunting down causes of errors than I do actually developing. FO Microsoft !

    – user2074102
    Feb 24 '14 at 20:00











  • Perhaps its because the batch doesn't commit till you hit the BULK_INSERT size so it doesn't notice the bad record until then. If you set BULK_INSERT to 1 does it let you find the row? It's curious that it works when set to 0

    – Nick.McDermaid
    May 2 '17 at 5:58











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f12750423%2fhow-to-determine-faulty-row-column-in-ssis-transformation%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









0














A quick way to determine which row(s) are responsible for the error is to error behavior from the default of "fail component" to "redirect rows" and then pipe the error output to a flat file.



enter image description here



For your particular error, the key message is:




"ERROR: invalid byte sequence for encoding "UTF8": 0x96




Google'ing this string brings back a few hits indicating a string encoding issue. Here's a link from the google-results back to stackoverflow.



You could try using a data conversion task to specify the correct encoding in the data flow task or you could make adjustments on the destination system (but I'm not really familiar with Postgres so can't help you there)






share|improve this answer


























  • I think this error is a red-herring. I updated the question to show that it always fails at whatever the BULK_INSERT size is on the connection string. Thoughts?

    – Webjedi
    Oct 8 '12 at 16:08











  • This is the problem with Microsoft error codes - we have to google them! WTF !!! I spend more time hunting down causes of errors than I do actually developing. FO Microsoft !

    – user2074102
    Feb 24 '14 at 20:00











  • Perhaps its because the batch doesn't commit till you hit the BULK_INSERT size so it doesn't notice the bad record until then. If you set BULK_INSERT to 1 does it let you find the row? It's curious that it works when set to 0

    – Nick.McDermaid
    May 2 '17 at 5:58
















0














A quick way to determine which row(s) are responsible for the error is to error behavior from the default of "fail component" to "redirect rows" and then pipe the error output to a flat file.



enter image description here



For your particular error, the key message is:




"ERROR: invalid byte sequence for encoding "UTF8": 0x96




Google'ing this string brings back a few hits indicating a string encoding issue. Here's a link from the google-results back to stackoverflow.



You could try using a data conversion task to specify the correct encoding in the data flow task or you could make adjustments on the destination system (but I'm not really familiar with Postgres so can't help you there)






share|improve this answer


























  • I think this error is a red-herring. I updated the question to show that it always fails at whatever the BULK_INSERT size is on the connection string. Thoughts?

    – Webjedi
    Oct 8 '12 at 16:08











  • This is the problem with Microsoft error codes - we have to google them! WTF !!! I spend more time hunting down causes of errors than I do actually developing. FO Microsoft !

    – user2074102
    Feb 24 '14 at 20:00











  • Perhaps its because the batch doesn't commit till you hit the BULK_INSERT size so it doesn't notice the bad record until then. If you set BULK_INSERT to 1 does it let you find the row? It's curious that it works when set to 0

    – Nick.McDermaid
    May 2 '17 at 5:58














0












0








0







A quick way to determine which row(s) are responsible for the error is to error behavior from the default of "fail component" to "redirect rows" and then pipe the error output to a flat file.



enter image description here



For your particular error, the key message is:




"ERROR: invalid byte sequence for encoding "UTF8": 0x96




Google'ing this string brings back a few hits indicating a string encoding issue. Here's a link from the google-results back to stackoverflow.



You could try using a data conversion task to specify the correct encoding in the data flow task or you could make adjustments on the destination system (but I'm not really familiar with Postgres so can't help you there)






share|improve this answer















A quick way to determine which row(s) are responsible for the error is to error behavior from the default of "fail component" to "redirect rows" and then pipe the error output to a flat file.



enter image description here



For your particular error, the key message is:




"ERROR: invalid byte sequence for encoding "UTF8": 0x96




Google'ing this string brings back a few hits indicating a string encoding issue. Here's a link from the google-results back to stackoverflow.



You could try using a data conversion task to specify the correct encoding in the data flow task or you could make adjustments on the destination system (but I'm not really familiar with Postgres so can't help you there)







share|improve this answer














share|improve this answer



share|improve this answer








edited May 23 '17 at 12:26









Community

11




11










answered Oct 7 '12 at 19:32









Bill AntonBill Anton

2,5821120




2,5821120













  • I think this error is a red-herring. I updated the question to show that it always fails at whatever the BULK_INSERT size is on the connection string. Thoughts?

    – Webjedi
    Oct 8 '12 at 16:08











  • This is the problem with Microsoft error codes - we have to google them! WTF !!! I spend more time hunting down causes of errors than I do actually developing. FO Microsoft !

    – user2074102
    Feb 24 '14 at 20:00











  • Perhaps its because the batch doesn't commit till you hit the BULK_INSERT size so it doesn't notice the bad record until then. If you set BULK_INSERT to 1 does it let you find the row? It's curious that it works when set to 0

    – Nick.McDermaid
    May 2 '17 at 5:58



















  • I think this error is a red-herring. I updated the question to show that it always fails at whatever the BULK_INSERT size is on the connection string. Thoughts?

    – Webjedi
    Oct 8 '12 at 16:08











  • This is the problem with Microsoft error codes - we have to google them! WTF !!! I spend more time hunting down causes of errors than I do actually developing. FO Microsoft !

    – user2074102
    Feb 24 '14 at 20:00











  • Perhaps its because the batch doesn't commit till you hit the BULK_INSERT size so it doesn't notice the bad record until then. If you set BULK_INSERT to 1 does it let you find the row? It's curious that it works when set to 0

    – Nick.McDermaid
    May 2 '17 at 5:58

















I think this error is a red-herring. I updated the question to show that it always fails at whatever the BULK_INSERT size is on the connection string. Thoughts?

– Webjedi
Oct 8 '12 at 16:08





I think this error is a red-herring. I updated the question to show that it always fails at whatever the BULK_INSERT size is on the connection string. Thoughts?

– Webjedi
Oct 8 '12 at 16:08













This is the problem with Microsoft error codes - we have to google them! WTF !!! I spend more time hunting down causes of errors than I do actually developing. FO Microsoft !

– user2074102
Feb 24 '14 at 20:00





This is the problem with Microsoft error codes - we have to google them! WTF !!! I spend more time hunting down causes of errors than I do actually developing. FO Microsoft !

– user2074102
Feb 24 '14 at 20:00













Perhaps its because the batch doesn't commit till you hit the BULK_INSERT size so it doesn't notice the bad record until then. If you set BULK_INSERT to 1 does it let you find the row? It's curious that it works when set to 0

– Nick.McDermaid
May 2 '17 at 5:58





Perhaps its because the batch doesn't commit till you hit the BULK_INSERT size so it doesn't notice the bad record until then. If you set BULK_INSERT to 1 does it let you find the row? It's curious that it works when set to 0

– Nick.McDermaid
May 2 '17 at 5:58


















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f12750423%2fhow-to-determine-faulty-row-column-in-ssis-transformation%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Feedback on college project

Futebolista

Albești (Vaslui)