链接服务器的OLE DB提供程序“OraOLEDB.Oracle”返回消息“ORA-06576:不是有效的函数或过程名称”

时间:2017-02-06 21:46:55

标签: sql-server oracle stored-procedures linked-server

我已经设置了从SQL Server到Oracle数据库的链接服务器。连接已成功测试。我使用以下命令从SQL Server查询表,并成功返回结果集:

EXEC ('select * from tablename') AT [linkedservername]

我从Oracle数据库运行以下命令,它(存储过程)有效:

EXEC schemaname.storedprocedurename

但是,当我从SQL服务器运行它时,它返回了错误消息ORA-00900: invalid SQL statement

EXEC('call schemaname.storedprocedurename') AT [linkedservername]

任何人都知道可能是什么原因?

1 个答案:

答案 0 :(得分:0)

马特 您在程序名称后缺少()。

EXEC('call schemaname.storedprocedurename()') AT [linkedservername]

另外,请确保以下

  1. 用于链接服务器的帐户可以访问存储过程(架构)
  2. 有时您可能需要省略架构名称,只需执行“调用SPName()”
  3. 即可