views 在不同的数据库上调用函数,但 crystal 报告 "invalid identifier" 错误

views calls a function on a different database but crystal reports "invalid identifier" error

我已经在架构 (general_schema) 的数据库 (database1) 上创建了一个视图 (generic_view)。此视图中的其中一列由函数 (generic_function) 填充,该函数存储在同一架构中但位于不同的数据库 (database2) 中。我正在调用函数:

general_schema.generic_function@database2(param1, param2, ... paramN) AS function_column

视图和函数都编译,视图为function_column函数生成数据。当我尝试在 crystal 报告中使用此视图生成报告时出现问题。当我尝试添加视图时出现错误: ORA-00904: "general_schema"."generic_function": 无效标识符

我尝试删除函数内的所有内容,使函数只有 returns 0,但这似乎没有帮助。

我是不是函数调用错了?

架构 名称 在不同数据库中相同并不意味着它们相同 架构。您需要在 database1 中设置数据库 link 以允许访问 database2,然后在 database2 中您需要确保指定的用户在数据库 link 中已被授予对 general_schema.generic_function.

的执行访问权限

祝你好运。