我创建了Oracle用户wy。给他赋值了角色:dba、connect 、aq_administrator_role
系统我赋值:alert any trigger 、create any trigger、unlimited tablespace等权限 我用wy创建个触发器。
说表或者视图不存在。
是权限不够。
系统我赋值:alert any trigger 、create any trigger、unlimited tablespace等权限 我用wy创建个触发器。
说表或者视图不存在。
是权限不够。
如果不是就找到问题所在了,WY对这张表没有查询权限。
解决办法:1:授予WY查询这个表的权限,
2,用WY建立一张相同的表
用WY登陆PL/SQL,看能否对那张表进行查询
BEFORE INSERT
ON BM FOR EACH ROW
BEGIN
SELECT bmseqID.NEXTVAL INTO :NEW.ID FROM DUAL;
END;CREATE TABLE WYUSER.bm (
id number ,
parentid number ,
bmmc nvarchar2 (50) ,
fzr nvarchar2 (50) ,
dh nvarchar2 (50) ,
level1 nvarchar2 (50) ,
scdw char (10) ,
bmbh nvarchar2 (15) ,
bh char (10) ,
bz nvarchar2 (50) ,
tjtype varchar2 (1) ,
flag varchar2 (1)
) TABLESPACE WYMK为了那个自增id需要序列和触发器。结果触发器不能建立
net连接<add value="server=(local); User ID=wyuser; Password=wy123; Data Source=wywl"></add>
alter user wy default role all;
我增加了还是不行。
BEFORE INSERT
ON BM FOR EACH ROW
BEGIN
SELECT bmseqID.NEXTVAL INTO :NEW.ID FROM DUAL;
END; CREATE TABLE WYUSER.bm (
id number ,
parentid number ,
bmmc nvarchar2 (50) ,
fzr nvarchar2 (50) ,
dh nvarchar2 (50) ,
level1 nvarchar2 (50) ,
scdw char (10) ,
bmbh nvarchar2 (15) ,
bh char (10) ,
bz nvarchar2 (50) ,
tjtype varchar2 (1) ,
flag varchar2 (1)
) TABLESPACE WYMK 注意三个红色标记部分。
建立触发器的用户是wy,而表的属主是WYUSER,当然找不到表了。