Arithmetic overflow in Transform Data Task -
04-05-2006
, 04:21 PM
Hello,
I am running into trouble trying to copy the full contents a table from
Teradata into SQL Server (version 2000 - 8.00.818 (Intel X86)). I'm
using a simple Transform Data Task in which each column is mapped to
its target via a Copy Column transformation. It seems very
straightforward but the package fails with the message:
[Arithmetic overflow error converting numeric to data type numeric]
I isolated this to a single column which seems to trigger the error. I
thought I might have accidentally defined the target column with a
smaller size than the source but they are both defined as NUMERIC(13,2)
(DECIMAL(13,2) in the Teradata source). The Teradata source uses an
ODBC connection while the SQL Server target uses OLE DB. The maximum
value in the transferred data is only 11,000 so I don't see how this
could overflow the target field.
Having tried everything and then some, I started playing with the
Transform Data Task's options and I accidentally found that disabling
the option "Use fast load" eliminates the error and the data loads
perfectly. The question here is: how could "Use fast load" cause an
arithmetic overflow? (all other switches under "Use fast load", such as
"Keep NULL values" and "Check constraints are disabled")
The workaround seems suitable at the moment (only 300K rows to
transfer) but the volume will grow steadily and I do think load times
will be unacceptable in the future. Also, I just can't wrap my head
around why this error occurs.
Many thanks in advance for any help.
Cheers,
R.A. |