解决Oracle的admin账户创建函数却无法调用的问题备忘录

来源:互联网 发布:查看矢量图的软件 编辑:程序博客网 时间:2024/04/28 22:17

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 直接登录然后创建函数并调用,估计相当于第一种全局函数,可参考这篇博客点击打开链接

最后感觉就是必须是系统管理员权限才能调用函数,不知道什么情况,贼烦~