在包体里写了一个过程,test执行时报错,但是如果把该过程单独拿出来创建一个,就能顺利执行。

在没加上调用者权  authid current_user之前,报错如下

ORA-01031: insufficient privilegesORA-06512: at "RT_ANN_ODS.ODS_EI_WDNEW", line 1720

查了01031,发现是缺少权限,那么问题就来了,缺少什么权限?

过程能编译完成,只是测试时候报错,那么就是缺少调用者权限了。

锁定了这个问题,就输入调用者权限即可。

在单一的过程中,调用者权限是这样用的:

create or replace procedure p_test
2 Authid Current_User ----写在过程名称之后,is之前
3 is
4 begin
5 execute immediate 'create table creat_table(id number)';
6 end;
7 /

于是在包体里的过程名称后边加上Authid
Current_User 
,编译,报错如下:

PLS-00157:  
AUTHID only allowed on schema-level programs

这句话的意思是说,AUTHID只能用字啊顶级的项目,也就是在包里使用才能生效。

查了下错误原因 An AUTHID
clause was specified for a subprogram inside a package or type. These clauses
are only supported for top-level stored procedures, packages, and types.

大致意思就是authid只能用在顶级的存储过程、包、类型上,不能用在包或类型的子程序上。

在包上加入authid,执行正常了。

create or replace package p_test
authid current_user is
……

到此,问题解决。

PLS-00157: AUTHID only allowed on schema-level programs解决办法 包体的过程使用调用者权限方法的更多相关文章

  1. Spring Boot连接MySQL长时间不连接后报错`com.mysql.cj.core.exceptions.ConnectionIsClosedException: No operations allowed after connection closed.`的解决办法

    报错:com.mysql.cj.core.exceptions.ConnectionIsClosedException: No operations allowed after connection ...

  2. mvn打包spring工程成jar时报Unable to locate Spring NamespaceHandler for XML schema namespace错误解决办法

    有一个小工程,使用了spring,在使用maven的assembly打包成独立可执行的jar包后,在执行时报如下错误:Configuration problem: Unable to locate S ...

  3. mac 环境下mysql 不能删除schema问题的解决办法

    首先说明下问题环境,我是在mac机器上安装的mysql+workbench. 在删除一个数据库的时候,出现error dropping database cant rmdir ./test 的问题. ...

  4. Java compiler level does not match the version of the installed Java project facet解决办法

    意思就是project facet 和 java compiler level 不一致 解决办法: 修改project facet 方法一: 选中工程,右键 Property -> Projec ...

  5. '<>' operator is not allowed for source level below 1.7

    报错:'<>' operator is not allowed for source level below 1.7 这是eclipse的编译环境与项目的要求不对应造成的,这个错误一般是导 ...

  6. Eclipse '<>' operator is not allowed for source level below 1.7

    '<>' operator is not allowed for source level below 1.7 解决方法:

  7. eclipse bug之'<>'operator is not allowed for source level below 1.7

    eclipse中导入工程,报这个错'<>'operator is not allowed for source level below 1.7,把jdk改成1.7后,提示Android r ...

  8. Android requires compiler compliance level 5.0 or 6.0. Found '1.4' instead的解决办法

    今天在导入工程进Eclipse的时候竟然出错了,控制台输出的是: [2013-02-04 22:17:13 - takepicture] Android requires compiler compl ...

  9. PHP内存溢出Allowed memory size of 解决办法

    PHP内存溢出Allowed memory size of 解决办法 博客分类: php   ============================Allowed memory size of  x ...

随机推荐

  1. 如何解决weblogic server启动中在IIOP后运行缓慢

    WebLogic Server在Linux环境中,有时因为linux OS的安全包没有安装,导致weblogic server 在启动的时候会在长时间的停留在 <2/07/2009 08:54: ...

  2. iOS:关于UIView切角的两种实现方式

    转载自:http://www.jianshu.com/p/451b7fa94e2a 第一种: 我想你一见到代码,就瞬间有吐的冲动,最常用的一种方式... UIButton *button = [[UI ...

  3. js清空子元素,创建新的子元素

    清空子元素 $('#region').empty(); 添加子元素 var regions = document.getElementById('region'); regions.appendChi ...

  4. 职场二年级转型C++的困惑

    [来信] 老师.你好.看了你的博客和採訪.不由主自地给你发私信,感觉你能解答我的问题. 学生90后,2012年毕业于某不知名院校.两年工作经验(第一年C#,第二年java,直到如今),一直想转型C++ ...

  5. Lina Group

    var query = from ll in proListRequestList group ll by new {ll.pro_id} into g select new ProListReque ...

  6. java中==与equal()的区别

    ==和equal()都是用来判断两个变量是否相等的. (1)如果两个变量是基本类型变量,且都是数值型的(不一定数据类型相同),只要是值相同,将返回true; (2)如果两个变量是引用型变量,只有它们指 ...

  7. 算法笔记_113:算法集训之代码填空题集一(Java)

     目录 1 报数游戏 2 不连续处断开 3 猜数字游戏 4 串的反转 5 串中找数字 6 递归连续数 7 复制网站内容 8 股票的风险 9 基因牛的繁殖 10 括号的匹配   1 报数游戏 有n个孩子 ...

  8. Java 中equals和==差别

    java中的数据类型,可分为两类:  1.基本数据类型.也称原始数据类型.byte,short,char,int,long,float,double,boolean    他们之间的比較,应用双等号( ...

  9. mongodb进阶三之mongodb管理

    http://blog.csdn.net/stronglyh/article/details/46827141 平时的开发环境win比較多啊,但生产环境要放到unix环境上 一:命令 安装就不少了,网 ...

  10. Github 入门基本操作

    翻译自:https://guides.github.com/activities/hello-world/ 文章概述: 什么是GitHub? 创建一个存储库 创建一个分支 做出承诺 打开拉请求 合并拉 ...