Използвам SQL*Plus за училище и използвам потребителското име Scott. Не мога да създавам изгледи, защото казва:
ORA-01031: insufficient privileges;
Търсих и търсих, но изглежда нищо не успя да го направи правилно. Някаква помощ?
Използвам SQL*Plus за училище и използвам потребителското име Scott. Не мога да създавам изгледи, защото казва:
ORA-01031: insufficient privileges;
Търсих и търсих, но изглежда нищо не успя да го направи правилно. Някаква помощ?
Както гласи грешката - вашите привилегии са недостатъчни за създаване на изглед - ще трябва да помолите администратора на базата данни да ви предостави тази привилегия. Ако можете да влезете като администратор на база данни, ще трябва да изпълните оператор (не мога да гарантирам коректността, няма база данни на Oracle)
GRANT CREATE ANY VIEW TO Scott;
or
GRANT CREATE VIEW TO Scott;
Трябва да ПРЕДОСТАВИТЕ привилегията СЪЗДАВАНЕ НА ИЗГЛЕД на ПОТРЕБИТЕЛЯ, който създава изгледа.
Например създавам нов потребител, за да му позволя да създаде сесия, таблица и изглед:
SQL> create user test identified by test;
User created.
SQL> grant create session, create table, create view to test;
Grant succeeded.
SQL> conn test/test@pdborcl;
Connected.
SQL> Create Table advanced
2 (Id varchar(15),
3 Name varchar(20),
4 Dept varchar(15),
5 Cgpa float,
6 Birth_date date,
7 Mob_no int,
8 Dist varchar(20),
9 Salary number(8));
Table created.
SQL> Create View advanced_data as
2 (
3 select name,dept,dist,salary from advanced
4 );
View created.
Ако отнема привилегията, ще получите ORA-01031: недостатъчни привилегии:
SQL> revoke create view from test;
Revoke succeeded.
SQL> conn test/test@pdborcl;
Connected.
SQL> Create or replace View advanced_data as
2 (
3 select name,dept,dist,salary from advanced
4 );
Create or replace View advanced_data as
*
ERROR at line 1:
ORA-01031: insufficient privileges
стъпка 1-conn ss/ss като sysdba;
стъпка 2- ПРЕДОСТАВЯНЕ НА СЪЗДАВАНЕ НА ВСЯК ИЗГЛЕД НА Scott;
стъпка 3- conn scott/tiger
стъпка 4-създайте или заменете изглед v като select *from emp;
За да влезете като DBA (администратор на база данни), можете да използвате:
sqlplus / as sysdba
or
sqlplus sys as sysdba