【发布时间】:2011-01-24 17:21:59
【问题描述】:
当我尝试执行这个涉及 Linked Server to Oracle 的查询时,我遇到了这个问题。在下面找到查询,
SELECT DISTINCT Convert(nvarchar(100),A.ZIP_CD)
,Convert(nvarchar(100),A.CITY)
,Convert(nvarchar(100),A.ST_CD)
,Convert(nvarchar(100),E.PCT)
,Convert(nvarchar(100),B.DEFAULT_DEL_CHG)
,Convert(nvarchar(100),E.DEL_TAX)
FROM [LIVE]..[CUSTOM].MASTER_ZIP A,
[LIVE]..[MISC].ZONE B,
[LIVE]..[MISC].ZIP2ZONE C,
[LIVE]..[MISC].ZIP2TAX D,
[LIVE]..[SALES].TAT E
WHERE A.ZIP_CD = C.ZIP_CD
AND ISNULL(B.DEFAULT_DEL_CHG,0) <> 0
AND A.USPS_PRIM = 'P'
AND C.ZONE_CD = B.ZONE_CD
AND A.ZIP_CD = D.ZIP_CD
--AND decode(D.TAX_CD,'999','99',d.tax_cd) = E.TAT_CD
AND (Case When D.TAX_CD = '999' Then '99' Else D.TAX_CD End) = E.TAT_CD
这是我得到的错误,
无法从链接服务器“LIVE”的 OLE DB 提供程序“OraOLEDB.Oracle”获取行的数据。
我在一个论坛上发现说要尝试转换为 nvarchar,因为 Oracle 在 sql server 中转换数字时出现问题,但我仍然遇到同样的错误。
关于如何解决此问题的任何想法?谢谢。
【问题讨论】:
标签: oracle oledb linked-server