call ErrPreserve before doing anything in error handler. (9 replies)
You shouldn't get that Error.
Can you paste the error from Errors.txt
What's the path?? Need a bit more info please.
Got it in C:\IMan\Debug
ErrorIn: Error information was lost. To fix: call ErrPreserve before doing anything in error handler.
Time='05/25/19 18:10:46' App='IManEngine:3.2.100' ADO-version='6.3' Computer='SWIZZ-DGCGAS-05'
Method: TransformTaskProcess.INonDataTask_Initialise
Number: -2147216306 = &H8004144E = vbObjectError + 5198 = ERRMAP_APP_FIRST + 0 = ERR_GENERAL
Source:
Description: ErrorIn: Error information was lost. To fix: call ErrPreserve before doing anything in error handler.
Call Stack: TransformTaskProcess.INonDataTask_Initialise() ---------------------------------------
Call Stack: TransformCoordinator.RunTransform(sTransformId='InserttoDquest') ---------------------
Env: eTransformType=103, bWriteSummaries=False, bSummariesHandled=False
Call Stack: TransformCoordinator.RunTransformStream(sParentTransform='') -------------------------
Env: sTransformId='InserttoDquest', l=0, m=1
Call Stack: TransformCoordinator.Process() -------------------------------------------------------
Call Stack: IntManEng.Main() ---------------------------------------------------------------------
Env: sCmd='"GRECTST-PositivePayExportLive"'
2019-05-27 18:05:30:158 - System.IO.FileNotFoundException: Could not find file 'C:\IMan\PositivePay\GrecoPositivePay.txt'.
File name: 'C:\IMan\PositivePay\GrecoPositivePay.txt'
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
at System.IO.File.ReadAllBytes(String path)
at Realisable.Utils.Mail.Attachment..ctor(String fileName)
at Realisable.Data.Transform.TransformTaskEmail.c__DisplayClass45_0.b__0(String i)
at System.Collections.Generic.List`1.ForEach(Action`1 action)
at Realisable.Data.Transform.TransformTaskEmail.AddAttachment(Email email, String attachmentPath)
at Realisable.Data.Transform.TransformTaskEmail.ProcessUsingNonSegmentedTransaction()
at Realisable.Data.Transform.TransformTaskEmail.SendMail()
at Realisable.Data.Transform.TransformTaskEmail.Process()
at Realisable.Data.Transform.TransformControllerInterop.Process()
Could not find file 'C:\IMan\PositivePay\GrecoPositivePay.txt'.
Time='05/27/19 18:05:30' App='IManEngine:3.2.100' ADO-version='6.3' Computer='SWIZZ-DGCGAS-05'
Method: TransformControllerInterop.PerformTransform
Number: -2147024894 = &H80070002 = vbObjectError + 196610 = ERRMAP_APP_FIRST + 191412
Source: mscorlib
Description: Could not find file 'C:\IMan\PositivePay\GrecoPositivePay.txt'.
Call Stack: TransformControllerInterop.PerformTransform() ----------------------------------------
Env: sFileStorePath={Text}, bPassDataAsString=False
Value Of sFileStorePath:
'C:\IMan\Debug\GRECO-PositivePayExportLive-856'
Call Stack: TransformControllerInterop.ITransformController_Process() ----------------------------
Call Stack: TransformCoordinator.RunTransform(sTransformId='EMAILEXPORT') ------------------------
Env: eTransformType=100, bWriteSummaries=False, bSummariesHandled=False
Call Stack: TransformCoordinator.RunTransformStream(sParentTransform='') -------------------------
Env: sTransformId='EMAILEXPORT', l=1, m=0
Call Stack: TransformCoordinator.Process() -------------------------------------------------------
Call Stack: IntManEng.Main() ---------------------------------------------------------------------
Env: sCmd='"GRECO-PositivePayExportLive"'
Arline, the error would indicate that a file 'C:\IMan\PositivePay\GrecoPositivePay.txt' could not be attached to email (which is being sent).
Thanks
I should be more clear. The logs are from 2 jobs that are running in parallel.
The log that starts at 2019-05-27 18:05:30:158 does look odd, and I see where you are seeing that file error.
But the other part of the log (the one timestamped 05/25/19 18:10:46) is the troubling one I think. And it includes the error I saw in the IMAN Audit. Here's the specific part of the log. It seems to me like the SQL Script Task 'InserttoDquest' is the issue here. But I'm not sure where the issue is or how to prevent it. Suggestions?
ErrorIn: Error information was lost. To fix: call ErrPreserve before doing anything in error handler.
Time='05/25/19 18:10:46' App='IManEngine:3.2.100' ADO-version='6.3' Computer='SWIZZ-DGCGAS-05'
Method: TransformTaskProcess.INonDataTask_Initialise
Number: -2147216306 = &H8004144E = vbObjectError + 5198 = ERRMAP_APP_FIRST + 0 = ERR_GENERAL
Source:
Description: ErrorIn: Error information was lost. To fix: call ErrPreserve before doing anything in error handler.
Call Stack: TransformTaskProcess.INonDataTask_Initialise() ---------------------------------------
Call Stack: TransformCoordinator.RunTransform(sTransformId='InserttoDquest') ---------------------
Env: eTransformType=103, bWriteSummaries=False, bSummariesHandled=False
Call Stack: TransformCoordinator.RunTransformStream(sParentTransform='') -------------------------
Env: sTransformId='InserttoDquest', l=0, m=1
Call Stack: TransformCoordinator.Process() -------------------------------------------------------
Call Stack: IntManEng.Main() ---------------------------------------------------------------------
Env: sCmd='"GRECTST-PositivePayExportLive"'
Arline, I don't know what the Script task is doing?
It would appear there's something wrong with this. Can you check?
Why are using the Script task to insert records?
Script task ran ok last night. But I do not have confidence that it will always run given this strange error.
We are using Script task to insert records retrieved from a view into a temporary database table.
Once the records are inserted, then they are processed, and a final DB update job marks the records as having been processed.
Then, the next time the view is called, it suppresses any rows where the "processed" field is marked as 1.
So, any suggestions on how to prevent this in the future?
Hi Arline,
Inserting data into a table via a script task is a little irregular. Is there a reason this can't be handled with db readers/writers?
I don't think there is any reason I couldn't do that - So a DB read to call the view, then a DB write to insert records into the table? For some reason I thought the SQL script was considered a better tool for this.
I can give that a try.
How do I "call ErrPreserve" ?
This is from a recent audit email I got. The transformation step [InserttoDquest] inserts processed data to a custom database table and flags the row as having been processed.
Error occurred whilst processing transform [InserttoDquest].
ErrorIn: Error information was lost. To fix: call ErrPreserve before doing anything in error handler.