保罗马尔蒂尼 2015-01-07 14:55 采纳率: 25%
浏览 1913
已采纳

SQL2008下通过链接服务器远程访问ORACLE的数据兼任问题

方式1,直接使用MS的MSDAORA驱动:

 EXEC sp_addlinkedserver
@server='ODS',--链接服务器名称
@srvproduct='Oracle',--固定
@provider='MSDAORA',--固定
@datasrc='ODSDB_WT'

方式2,使用ORACLE带的驱动,Oracle Provider for OLE DB
进行查询:

 select top 10 * from ODS..EDM_BASE.T03_NOACCOUNTJOUR_CTS
select top 10 * from ODS2..EDM_BASE.T03_NOACCOUNTJOUR_CTS

第一条使用方式1的查询正常,
第2条报错
消息 9803,级别 16,状态 1,第 2 行
数据不适用于类型 "numeric"。

不知有无什么方法能使用ORCLE驱动解决此类数据兼容问题?

  • 写回答

1条回答 默认 最新

  • save4me 2015-01-08 03:44
    关注

    Oracle不支持Top,可以使用RowNum,比如

     SELECT *
     FROM (
        SELECT * from ODS..EDM_BASE.T03_NOACCOUNTJOUR_CTS) T
    WHERE rownum <= 10
    ORDER BY rownum;
    

    如果需要,可以在子句中按照需要的字段和方式先排好序,再通过RowNum取前几条记录

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办