日期:2014-05-17  浏览次数:20653 次

关于SQL SERVER使用OPENQUERY查询ORACLE数据库的问题
SQL code
SELECT TOP 1 STAMP_ID FROM OPENQUERY(ORACLE_ERP,'SELECT STAMP_ID FROM BPM.BPM_PPM_STAMP ORDER BY STAMP_ID DESC') WHERE STAMP_ID=791
 
查询出来的结果是没有问题的,但是使用下面的语句就会报错
SQL code
SELECT TOP 1 STAMP_ID FROM OPENQUERY(ORACLE_ERP,'SELECT STAMP_ID FROM BPM.BPM_PPM_STAMP ORDER BY STAMP_ID DESC') WHERE STAMP_ID=790

报错信息为:
消息 9803,级别 16,状态 1,第 1 行
数据不适用于类型 "numeric"。
 ORACLE中STAMP_ID字段类型为NUMBER(19)

望大神们解答一下

------解决方案--------------------
数据转换的问题, oracle的数据类型number(19) 无法默认转换成sql 里面的numeric。
建议lZ转换一下类型,比如转到varchar?