高手们,讨教一个问题

[复制链接]
查看11 | 回复5 | 2008-11-14 14:42:19 | 显示全部楼层 |阅读模式
这是仿照EXPERT ONE TO ONE写的个例子,为何不能运行?难道那本书是欺世盗名? 还是专家写的了,例子都不能运行
CREATE OR REPLACE PROCEDURE set_empon
IS
empon VARCHAR2 (10);
ctx VARCHAR2 (30);
jsh VARCHAR2 (10);
BEGIN
ctx := 'test';
empon := '1';
jsh := 'manager';
DBMS_SESSION.set_context (ctx, 'ghm', empon);
DBMS_SESSION.set_context (ctx, 'jsm', jsh);
END;
/
CREATE OR REPLACE TRIGGER app_login_trigger
AFTER LOGON ON DATABASE
BEGIN
set_empon;
END;
/
SQL> connect test1/test1
ERROR:
ORA-00604: 递归 SQL 层 1 出现错误
ORA-01031: 权限不足
ORA-06512: 在"SYS.DBMS_SESSION", line 58
ORA-06512: 在"WZ.SET_EMPON", line 10
ORA-06512: 在line 2
回复

使用道具 举报

千问 | 2008-11-14 14:42:19 | 显示全部楼层
而且编译通过
回复

使用道具 举报

千问 | 2008-11-14 14:42:19 | 显示全部楼层
其实是上下文空间没有建立.ORACLE的权限控制真复杂,现在才算明白一点点了.书没错.
回复

使用道具 举报

千问 | 2008-11-14 14:42:19 | 显示全部楼层
给你一点意见:
难道那本书是欺世盗名? 还是专家写的了,例子都不能运行
这样的话不可随便说出口,希望你以后提问注意用词,否则你可能不受欢迎,这里边的朋友也就不愿意回复你了。
回复

使用道具 举报

千问 | 2008-11-14 14:42:19 | 显示全部楼层
这段程序我调烦了,才怀疑书错了.今天在网上看回帖,才注意到我把上下文的空间名字换了.不过这贴在这贴了三天,也没人给我提出一个可能的解决问题的方向,我觉得有点失望.
回复

使用道具 举报

千问 | 2008-11-14 14:42:19 | 显示全部楼层
触发器,过程是在经过授权的WZ用户建立的,不是楼上说的SYSTEM建立。这段程序的目的是学习使用应用程序上下文的使用,了解需要哪些权限和步骤。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行