select * from test..TEST.TEST1
服务器: 消息 7356,级别 16,状态 1,行 1
OLE DB 提供程序 'OraOLEDB.Oracle' 为列提供的元数据不一致。执行时更改了元数据信息。
OLE DB 错误跟踪
[Non-interface error:
Column 'DUMMY' (compile-time ordinal 1) of object '"TEST".
"TEST"' was reported to have a DBTYPE of 129 at
compile time and 130 at run time]。
这里我们发现当使用有精度的数据类型的时候,这个查询是不会报这种元数据类型不匹配的错误的。
这个是oracle的bug:3117040 在9.2.0.4.10中修正。
那么假如oracle的版本低于这个,避免在sqlserver的link seerver需要访问的column中使用没有精度(数据长度不定)的数据类型。