【Wonder原创】关于MSSQL通过DBLink访问Oracle问题

在MSSQL中,openquery 方式访问 Oracle 是没法加参数的,因此可以通过如下方式访问:

    declare @datetoday datetime;

 

set @datetoday = dateadd(d,-1,getdate());

 

select * from MESDBLINKEDSERVER..MESUSER.RCTH where THFNSHDT>@datetoday

 

    但要注意以下问题:

1、 Oracle 对象必须大写

2、 Oracle Number 类型必须指定最大长度 ,如 number(12) ,不然会报如下错误

【链接服务器"MESDBLINKEDSERVER" 的OLE DB 访问接口"MSDAORA" 为列提供的元数据不一致。对象""MESUSER"."RPT_AS_INOUT"" 的列"INPUT" (编译时序号为10)在编译时有130 的"DBTYPE",但在运行时有5。】

原文地址:https://www.cnblogs.com/wonder315/p/1827912.html