程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> sql server-SQL2008下通過鏈接服務器遠程訪問ORACLE的數據兼任問題

sql server-SQL2008下通過鏈接服務器遠程訪問ORACLE的數據兼任問題

編輯:編程綜合問答
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驅動解決此類數據兼容問題?

最佳回答:


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

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

如果需要,可以在子句中按照需要的字段和方式先排好序,再通過RowNum取前幾條記錄

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved