INSERT useing Oracle stage fails - Special characters
Moderators: chulett, rschirm, roy
INSERT useing Oracle stage fails - Special characters
Hi guys,
I have an issue with an Oracle stage to load a table.
At some point my job crashes saying it cannot insert a record (can't tell which one javascript:emoticon(':evil:')).
I figured it's cause by a varchar field that can contain all sorts of bad characters (commas, slashes, percents, etc).
My question is ? How to force DS to escape all characters in the INSERT STATEMENT it generates (ORCHESTRATE.XXX) ? This is quite annoying.
Thanks a lot
I have an issue with an Oracle stage to load a table.
At some point my job crashes saying it cannot insert a record (can't tell which one javascript:emoticon(':evil:')).
I figured it's cause by a varchar field that can contain all sorts of bad characters (commas, slashes, percents, etc).
My question is ? How to force DS to escape all characters in the INSERT STATEMENT it generates (ORCHESTRATE.XXX) ? This is quite annoying.
Thanks a lot
Hi Craig,
The thing is that I cannot probe the output so that I can retrieve a good example. I just know that if I insert a constant string instead of the initial input, the job gets through.
I only trim an input field from DB2-AS400 and load it through a SCD stage. It crashes when getting into the ORA stage which upsert the table. I get the following error in the log :
ora_DWH_DIM_PRD_new,0: Unable to insert a record into the table. The error type is IIS-DSEE-TOUP-00022.
Otherwise, do you have an efficient way to see exactly what row fails ?
The thing is that I cannot probe the output so that I can retrieve a good example. I just know that if I insert a constant string instead of the initial input, the job gets through.
I only trim an input field from DB2-AS400 and load it through a SCD stage. It crashes when getting into the ORA stage which upsert the table. I get the following error in the log :
ora_DWH_DIM_PRD_new,0: Unable to insert a record into the table. The error type is IIS-DSEE-TOUP-00022.
Otherwise, do you have an efficient way to see exactly what row fails ?
The message your are getting "unable to insert row" is generic and will not give you the exact reason. Do the following
Try inserting the row into the table using SQL Plus or Toad and see if error occurs. If this is sucessful then have your DBA look at tablespaces
and other database reason that might cause a row to be rejected even though the data is clean.
Try inserting the row into the table using SQL Plus or Toad and see if error occurs. If this is sucessful then have your DBA look at tablespaces
and other database reason that might cause a row to be rejected even though the data is clean.
Yes, exactly, obviously not so feasible if you are dealing with any kind of volume, but I haven't seen that mentioned so far.
On the other side of it, though I'm not yet at v8, I heard that a reference was provided for error messages etc these days. Is "IIS-DSEE-TOUP-00022" not listed in that anywhere?
On the other side of it, though I'm not yet at v8, I heard that a reference was provided for error messages etc these days. Is "IIS-DSEE-TOUP-00022" not listed in that anywhere?
Mark Winter
<i>Nothing appeases a troubled mind more than <b>good</b> music</i>
<i>Nothing appeases a troubled mind more than <b>good</b> music</i>
Ok I did it, a few records cannot be inserted using TOAD loader tool.
1) Some records exceed the max limit (though i KNOW it can't be). I suspec some special chars to be badly transmitted (soem become question marks ??), thus extending the string. Can this be solved ? I tried changing the NLS set but it did nothing
2) Some records contains semicolons. Can these be replaced , using the Convert function ?
Thanks for helping
Arnaud
1) Some records exceed the max limit (though i KNOW it can't be). I suspec some special chars to be badly transmitted (soem become question marks ??), thus extending the string. Can this be solved ? I tried changing the NLS set but it did nothing
2) Some records contains semicolons. Can these be replaced , using the Convert function ?
Thanks for helping
Arnaud
That would not be a hex or binary viewer. The goal is to get the numeric representation of what is in that character.
<a href=http://www.worldcommunitygrid.org/team/ ... TZ9H4CGVP1 target="WCGWin">
</a>
</a>
How about taking this step-by-step. Modify your job to put an output link from your Oracle stage directly to a flat file and in the Oracle stage options mark "Output reject records" as "true".
After the run do a "cat -v YourRejectFileName.txt" to get both the SQL error code and the data contents with undisplayable characters shown as octal or control codes.
After the run do a "cat -v YourRejectFileName.txt" to get both the SQL error code and the data contents with undisplayable characters shown as octal or control codes.
<a href=http://www.worldcommunitygrid.org/team/ ... TZ9H4CGVP1 target="WCGWin">
</a>
</a>
Hi again ArndWArndW wrote:How about taking this step-by-step. Modify your job to put an output link from your Oracle stage directly to a flat file and in the Oracle stage options mark "Output reject records" as "true".
After the run do a "cat -v YourRejectFileName.txt" to get both the SQL error code and the data contents with undisplayable characters shown as octal or control codes.
I already tried using a reject link out of the Oracle stage but it does not work.
It seems DS is not able to identify the row and treat it just as if the INSERT STATEMENT used is wrong, this, because of the "weird" data...
Sorry I didn't understand correctly what you said.