2014-09-12 70 views
0
  • 链接服务器名称:CBSLINKED // Oracle 10g数据库的
  • 名称如果甲骨文:CBSIVRDB
  • 存储过程的名称:FIU_INSERT
  • 其参数如(FROM日期,TODATE)
  • 我的DB:SQL服务器R2

execute ('call CBSIVRDB.FIU_INSERT ('' TO_DATE(''01-JUN-2014'',DD-MMM-YYYY) '',''TO_DATE(''30-JUN-2014'',DD-MMM-YYYY)'') ') at CBSLINKED错误而在SQL Server与Oracle 10g中执行OPENQUERY 2008 R2

错误:

OLE DB provider "MSDAORA" for linked server "CBSLINKED" returned message "ORA-00907: missing right parenthesis"

+0

你缺少'在DD-MMM的前面。但是,这里可能会遇到更多问题。 – 2014-09-12 10:21:25

+0

你的意思是这样的'DD-MMM-YYYY' – 2014-09-12 10:22:01

+0

我已经为你发布了一个答案。 – 2014-09-12 10:26:54

回答

1

试试这个:

CBSIVRDB.FIU_INSERT (TO_DATE(''01-JUN-2014'',''DD-MON-YYYY''),TO_DATE(''30-JUN-2014'',''DD-MON-YYYY'')) 

或者更准确地说

execute ('call CBSIVRDB.FIU_INSERT (TO_DATE(''01-JUN-2014'',''DD-MON-YYYY''),TO_DATE(''30-JUN-2014'',''DD-MON-YYYY''))') at CBSLINKED 
+0

链接服务器“CBSLINKED”的OLE DB提供程序“MSDAORA”返回消息“ORA-01821:日期格式未识别 ”。 – 2014-09-12 10:28:41

+0

正确的格式是DD-MON-YYYY。我编辑了我的答案。 – 2014-09-12 10:32:52

+0

谢谢它的工作.... :) – 2014-09-12 10:46:39