使Oracle链接服务器工作的问题

使Oracle链接服务器工作的问题

本文介绍了使Oracle链接服务器工作的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

限时删除!!

大家好,

我将Oracle Financials设置为我的一个SQL

服务器框的链接服务器。在运行测试查询时,我收到以下错误

消息:

OLE DB提供程序''MSDAORA''为列提供了不一致的元数据。

元数据信息在执行时被更改。

OLE DB错误跟踪[非接口错误:列''TEST_NUM''

(编译时序号2)对象''" MYUSER"。TEST_LINK"''被报告为

在编译时有一个

DBTYPE为130,运行时为5]。 />

具有所谓不一致的

元数据的列的Oracle数据类型为NUMBER,根据Oracle OLE DB文档

实际映射130是一个以null结尾的unicode字符

字符串,5是浮点数,139是可变长度的精确数值

,带有符号的刻度值。 Oracle NUMBER是一个通用的数字

类型,显然他们使用它而不是int,float等.Oracle

的家伙在测试表中用它来代替这个列因为在OF中,几乎每张桌子都使用了

。 (对于初学者来说,这是他们的

标识列的数据类型。)


OLE DB规范中有一些关于所有数据类型必须是

能够表示为DBTYPE_WSTR(130),但我得不到的是

我可以使用VB6代码连接到同一个Oracle实例和

MSDAORA提供商,解释NUMBER

列没有任何问题。那么为什么它可以从VB而不是作为链接服务器工作呢?并且

更重要的是,我如何使链接的服务器工作?


TIA

Hi all,

I set up our Oracle Financials as a linked server to one of my SQL
Server boxes. On running a test query, I got the following error
message:
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 ''TEST_NUM''
(compile-time ordinal 2) of object ''"MYUSER"."TEST_LINK"'' was reported
to have a
DBTYPE of 130 at compile time and 5 at run time].

The Oracle datatype of the column with the supposedly inconsistent
metadata was NUMBER, which according to the Oracle OLE DB documentation
actually maps to 139. 130 is a null-terminated unicode character
string, 5 is a float, and 139 is a variable-length, exact numeric value
with a signed scale value. Oracle NUMBER is an all-purpose numeric
type, apparently they use that instead of int, float, etc. The Oracle
guy used it for this column in the test table because in OF it is used
in pretty much every table. (For starters it is the datatype of their
identity columns.)

There is something in the OLE DB spec about all datatypes having to be
able to be expressed as DBTYPE_WSTR (130), but what I don''t get is that
I can connect to the same Oracle instance using VB6 code and the
MSDAORA provider and there is no problem at all interpreting the NUMBER
columns. So why does it work from VB and not as a linked server? And
much more importantly, HOW DO I MAKE THE LINKED SERVER WORK?

TIA

推荐答案





这篇关于使Oracle链接服务器工作的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

1403页,肝出来的..

09-06 13:28