Originally posted by Paul Campbell:
are you doing some type of calculation in your insert? Loss of signifcance is a floating point calculation type of error.
Originally posted by Paul Campbell:
I don't know a lot of about IDMS... but is your date stored as a number or a date?
I do notice in your code (if I assume your date is > Dec 31, 1999) the value for omYear would no longer have a leading zero (2008's year would be "08") represented in strOmYear and would now be a single digit "8" (i.e., 2008 would now be "8")... perhaps that is what is causing your exception since the database is either looking for for a 2 digit year or for a leading zero where you're representing year.
Originally posted by Paul Campbell:
I am really just guessing here... but here goes... dates on all (that I am aware of) RDBMS databases are stored as numbers... but those numbers are defined as being a date column... is that true about this column? I'm asking since often times a mainframe programmer (and also SQL developers have a perverse enjoyment about not giving you all the facts by answering literally... i.e., is the date stored as a number... literally yes... but it is defined as a date).
Have you tried identifying the offending rows (print the row that errors) and seeing if you can insert that same row in SQL? Have you tried pulling rows off the table to see if they look similar to your inserted rows or if there are differences in format? The error message isn't very helpful and you may need to wrap your date in a SQL TO_DATE function... but if you put on your data analyst hat and start by identifying the differences between a sample of the problem rows, the rows that work (do those rows insert 100% of the time?), and some already in the table you will be a long ways towards finding your answer.