Invalid precision value. Error in parameter #. ODBC Error.
Posted: Fri Dec 07, 2007 11:40 am
Hi All,
I did a search on this, but although 3 topics came up, none showed a resolution...
I have an EE job that takes data from a dataset and passes through a Transformer, then loads it to an Oracle DB using the ODBC stage. To get the table definition for the input to the ODBC stage, I imported directly from the table, so the metadata matches ok.
Two of the fields in the Orable table are not in the dataset, and are assigned in the Transformer. The job compiles fine.
When I execute the job, it throws up a fatal error message:
Any help that you can offer, gratefully appreciated as always.
Regards,
Stuart
I did a search on this, but although 3 topics came up, none showed a resolution...
I have an EE job that takes data from a dataset and passes through a Transformer, then loads it to an Oracle DB using the ODBC stage. To get the table definition for the input to the ODBC stage, I imported directly from the table, so the metadata matches ok.
Two of the fields in the Orable table are not in the dataset, and are assigned in the Transformer. The job compiles fine.
When I execute the job, it throws up a fatal error message:
I am upserting and the SQL (auto-generated) is thus:APT_CombinedOperatorController,0: [DataDirect][ODBC Oracle Wire Protocol driver]Invalid precision value. Error in parameter 10.
[DataDirect][ODBC Oracle Wire Protocol driver]Invalid precision value. Error in parameter 8.
andINSERT
INTO
#DB_TABLE_P#
(SYMBOLTYPE, SYMBOLVALUE, ENTITYID, EFFECTIVEFROM, EFFECTIVETO, BASELINETIMESTAMP, DITIMESTAMP, GEMIDREFKEY, LEGACYID, RECTIMESTAMP, ISCERTIFIED)
VALUES
(ORCHESTRATE.SYMBOLTYPE, ORCHESTRATE.SYMBOLVALUE, ORCHESTRATE.ENTITYID, ORCHESTRATE.EFFECTIVEFROM, ORCHESTRATE.EFFECTIVETO, ORCHESTRATE.BASELINETIMESTAMP, ORCHESTRATE.DITIMESTAMP, ORCHESTRATE.GEMIDREFKEY, ORCHESTRATE.LEGACYID, ORCHESTRATE.RECTIMESTAMP, ORCHESTRATE.ISCERTIFIED)
I *think* that the fields being flagged are GEMIDREF and ISCERTIFIED - both of which are decimal 38,10. In the tranformer, I am trying to set these to 888 and 0 respectively.UPDATE
#DB_TABLE_P#
SET
SYMBOLTYPE = ORCHESTRATE.SYMBOLTYPE, SYMBOLVALUE = ORCHESTRATE.SYMBOLVALUE, ENTITYID = ORCHESTRATE.ENTITYID, EFFECTIVEFROM = ORCHESTRATE.EFFECTIVEFROM, EFFECTIVETO = ORCHESTRATE.EFFECTIVETO, BASELINETIMESTAMP = ORCHESTRATE.BASELINETIMESTAMP, DITIMESTAMP = ORCHESTRATE.DITIMESTAMP, LEGACYID = ORCHESTRATE.LEGACYID, RECTIMESTAMP = ORCHESTRATE.RECTIMESTAMP, ISCERTIFIED = ORCHESTRATE.ISCERTIFIED
WHERE
(GEMIDREFKEY = ORCHESTRATE.GEMIDREFKEY)
Any help that you can offer, gratefully appreciated as always.
Regards,
Stuart