在Oracle中使用DB Link调用函数

时间:2018-08-13 14:18:57

标签: sql oracle function plsql dblink

我的源数据库中存在一个函数(带有2个参数),我试图使用DB Link从另一个数据库中调用它。我正在使用以下代码,但始终出现错误:

SELECT SCHEMA.FUNC_NAME@DBLINK(PARAM1, PARAM2) FROM SCHEMA.TABLE_NAME@DBLINK; 

这是我得到的错误:

ORA-00904: "SCHEMA"."FUNC_NAME": invalid identifier

1 个答案:

答案 0 :(得分:0)

在尝试回答您的问题时,我将重命名您的数据库引用。 我将使用localDB和remoteDB作为数据库名称。 您在remoteDB上创建了一个函数。 您应该在localDB上创建DBlink。在DBLink定义中,您具有所有者,db_link,用户名,主机和创建日期。 在remoteDB上,您需要为dblink中指定的用户名赋予select或执行特权。 然后,您应该能够使用某些语法(例如EXEC SQL CALL schema.func_name@dblink(parm1,parms);

)从localDB执行该功能。
相关问题