Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak rozwiązać ORA-29471 na dbms_sql.open_cursor?

Jedyny powód (w tej chwili nie widzę innego), dlaczego twój kod podnosi ORA-29471 czy masz już utworzony dbms_sql nie działa w Twojej sesji po podaniu nieprawidłowego identyfikatora kursora:

/* dbsm_sql detects invalid cursor ID in this session  */ 
SQL> declare
  2    c_1 number := 5;  -- invalid cursor ID. There is no cursor 
  3    l_res boolean;    -- opened with ID = 5     
  4  begin
  5    l_res := dbms_sql.is_open(c_1);
  6  end;
  7  /
declare
*
ERROR at line 1:
ORA-29471: DBMS_SQL access denied 
ORA-06512: at "SYS.DBMS_SQL", line 1104 
ORA-06512: at line 5 


/* An attempt to execute this simple anonymous PL/SQL block after 
   an invalid cursor ID has already been detected by the dbms_sql 
   in the current session will lead to ORA-29471 error  
*/

SQL> declare
  2    c_2 number;
  3  begin
  4    c_2 := dbms_sql.open_cursor();
  5  end;
  6  /
declare
*
ERROR at line 1:
ORA-29471: DBMS_SQL access denied 
ORA-06512: at "SYS.DBMS_SQL", line 1084 
ORA-06512: at line 4 

Spróbuj wykonać ten kod w nowej sesji .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nie można załadować pliku lub zestawu „Oracle.DataAccess” 64-bitowy ODP.NET

  2. Konwertuj liczbę na słowa w Oracle BI Publisher

  3. ORA-01537. chcę wyszukać, gdzie znajduje się plik

  4. Usuń pary odwrócone za pomocą SQL

  5. ORA-22905 - podczas zapytania o typ tabeli za pomocą instrukcji SELECT