Greetings,
My customer is in the process of changing from Oracle
8.0.5 to 9.2.0. In one of there tables there is a field
that is defined as a number with no precision, and no
scale. When I look at the data in the field I find digits
on both sides on the decimal point.
The databases using Oracle 8.0.5, I have no problem
retriving the data. However those using Oracle 9.2.0, SQL
Server returns an error.
The error reads:
Server: Msg 7356, Level 16, State 1, Line 1
OLE DB provider 'MSDAORA' supplied inconsistent
metadata for a column. Metadata information was changed at
execution time.
OLE DB error trace [Non-interface error:
Column 'ITEM_DISC_AMT' (compile-time ordinal 15) of
object '"MFG"."TMFG_ORDER_LINE_ITEM"' was reported to have
a DBTYPE of
130 at compile time and 5 at run time].
If I import the Oracle 8.0.5 version of the table into SQL
Server, I find the field defined as [numeric](38, 0]. When
I do the same with the Oracle 9.2.0 version, its defined
as [float].
Something I find interesting is MS Access does not have
any problem with either database.
My customer doesn't seem want to change the field
definition.
Can anyone recommend a way around this.
Thanks in advance!
MarkMark,
There are some limitations with clients Oracle 9i and above especially to
do with certain data types. Please see
244661 INFO: Limitations of Microsoft Oracle ODBC Driver and OLEDB Provider
http://support.microsoft.com/?id=244661
Note that the article comments: "If you require Oracle 9i functionality and
decide to use the Oracle 9i client, note that Microsoft has not tested this
configuration and that you may encounter problems."
I suggest testing out with the Microsoft .NET Managed Oracle Provider as
specified in the article.
Regards
James
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment