我在架构(general_schema)中的数据库(database1)上创建了一个视图(generic_view)。此视图中的一列由一个函数(generic_function)填充,该函数存储在同一模式中但存储在不同的数据库(database2)中。我正在调用函数:
general_schema.generic_function@database2(param1, param2, ... paramN) AS function_column
视图和函数都编译,视图生成function_column函数的数据。当我尝试在水晶报表中使用此视图生成报表时,会出现此问题。当我尝试添加视图时,我收到错误: ORA-00904:“general_schema”。“generic_function”:标识符无效
我尝试删除函数中的所有内容,以便函数只返回0,但这似乎没有帮助。
我是在调用这个函数错了吗?
答案 0 :(得分:1)
架构名称在不同数据库中是相同的并不意味着它们是相同的架构。您需要在database1
中设置数据库链接以允许访问database2
,然后在database2
中您需要确保用户指定在数据库链接中已被授予对general_schema.generic_function的EXECUTE访问权。
祝你好运。