08-20-2017 01:04 AM
we have been facing the following error message in the log.
The task is : The batch job loading the data into client appliaction by reading the from oracle database.
2017-aug-02 10:09:20 : (19211) ERROR: Backgroud append failed to encode the record data.
Like the above message its been repeated every hour of the day. when the batch job running.
the batch job processing the data from oracle data base to sas client appliaction. just as a guess is there any issue with the data size is huge then this kind of message appears.?
should we trust the job is loading the data into client application? eve the above Error appears in the log. its really difficult to test the data because the data size is huge ( may be 10 millions records) .
Thanks in advance!
08-20-2017 06:10 PM - edited 08-20-2017 06:12 PM
I am not very sure, But I guess, this is an encoding issue. Encoding setting in sas confiuration defaulted to latin. Whenever you have something in oracle datset which is not latin you might be seeing this error.
proc options option=encoding; run;
see whether it is latin1 on your location
look into this article
If possible check data defintion language(DDL) of your oracle table. Check whether it is unicode.
There are numerious ways to find whether you non-latin data in your oracle dataset.
08-20-2017 06:45 PM
The log message itself indicates that there is an encoding issue as @kiranv_ writes.
I've never seen this log message and also can't find anything Googling. The format of the message indicates that this is from a Server log (which one?).
Can you tell us a bit more how your SAS job works? And can you please post the relevant section from the job log (or even attach the full log here).
Are there any other errors or warnings before the one you've posted? And is this by any chance a code implemented error message (i.e. followed by an abort statement).
should we trust the job is loading the data into client application?
Certainly not without an explanation of what's happening. Production worthy code needs to execute without throwing Error or Warning messages.
Is ghe job loading data right now even with this error message? If so then this error message is highly likely not SAS system generated but coded and you could see in the program code under which condition the error message gets generated.
its really difficult to test the data because the data size is huge ( may be 10 millions records) .
Then test on a sub-set, i.e. by using the Proc SQL OUTOBS option (proc sql outobs=1000;)