解决Oracle的admin账户创建函数却无法调用的问题备忘录
Oracle用admin账户(DBA)创建一个密码验证函数后,在调用它的时候出现如下问题:
具体原因不明觉厉!!!
解决方案如下:第一种:利用sys系统管理员账户创建全局函数。
(1)先以系统管理员账户登录
(2)执行如下sql语句: @C:\Users\Dragon\Desktop\My_verify_function.sql;执行结果如下:
(3)调用该函数
第二种:用系统管理员账户sys创建函数,然后利用 “grant execute on 函数名 to 其它用户”将函数的调用权赋予其他用户。然后再用admin或者其他账户登录,再去调用该该函数也能成功。
另:我们用CONN / AS SYSDBA 直接登录然后创建函数并调用,估计相当于第一种全局函数,可参考这篇博客点击打开链接
最后感觉就是必须是系统管理员权限才能调用函数,不知道什么情况,贼烦~