sql >> Database teknologi >  >> RDS >> Oracle

Hentning af ORA-01031:utilstrækkelige rettigheder under forespørgsel efter en tabel i stedet for ORA-00942:tabel eller visning findes ikke

Du får muligvis ORA-01031: insufficient privileges i stedet for ORA-00942: table or view does not exist når du har mindst ét ​​privilegium på bordet, men ikke det nødvendige privilegium.

Opret skemaer

SQL> create user schemaA identified by schemaA;

User created.

SQL> create user schemaB identified by schemaB;

User created.

SQL> create user test_user identified by test_user;

User created.

SQL> grant connect to test_user;

Grant succeeded.

Opret objekter og privilegier

Det er usædvanligt, men muligt, at give et skema et privilegium som DELETE uden at give SELECT.

SQL> create table schemaA.table1(a number);

Table created.

SQL> create table schemaB.table2(a number);

Table created.

SQL> grant delete on schemaB.table2 to test_user;

Grant succeeded.

Opret forbindelse som TEST_USER, og prøv at forespørge tabellerne

Dette viser, at have nogle privilegium på bordet ændrer fejlmeddelelsen.

SQL> select * from schemaA.table1;
select * from schemaA.table1
                      *
ERROR at line 1:
ORA-00942: table or view does not exist


SQL> select * from schemaB.table2;
select * from schemaB.table2
                      *
ERROR at line 1:
ORA-01031: insufficient privileges


SQL>


  1. Uventet @@rowcount-adfærd i en UDF i MS SQL 2019

  2. Sådan importeres excel-fil til MySQL Workbench?

  3. Hvordan sorterer man et associativt array i PL/SQL?

  4. Hvordan vælger jeg sidste 30 dages datoer i MySQL?