所以我有一个名为doLogin的函数,它接收两个参数,并创建了一个名为user_login的用户。 我已授予user_login以下权限:
GRANT CREATE SESSION TO user_login;
GRANT EXECUTE ON DoLogin TO user_login;
GRANT SELECT ON Utilizadores TO user_login; --do Login gets information from this table
但是当使用user_login连接并尝试运行该函数时,我收到以下错误:
Erro:java.sql.SQLException:ORA-06550:第1行第13列:PLS-00201:必须声明标识符'DOLOGIN'ORA-06550:第1行第7列:PL / SQL:忽略语句
编辑:我希望只有system和user_login能够访问此功能
答案 0 :(得分:2)
假设您在模式中定义了您的功能DoLogin
(例如yourSchema
),您需要在其他用户中使用它,例如user_login
。
您可以决定使用
调用该函数yourSchema.DoLogin
或从yourSchema
内创建公共同义词,然后在不添加架构名称的情况下调用该函数:
create public synonym DoLogin for DoLogin