Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Bagaimana cara mengatasi ORA-29471 di dbms_sql.open_cursor?

Satu-satunya alasan (tidak dapat melihat yang lain saat ini) mengapa kode Anda memunculkan ORA-29471 apakah Anda sudah membuat dbms_sql tidak dapat dioperasikan di sesi Anda dengan memberikan ID kursor yang tidak valid:

/* 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 

Coba jalankan kode itu dalam sesi yang baru dibuat .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 1000000 hingga 1M dan 1000 hingga 1K dalam permintaan oracle

  2. Setel ulang jumlah kumulatif?

  3. berhitung dengan bergabung

  4. Menginstal Oracle 32-bit Client di Windows Server Sudah Menjalankan 64-bit Oracle Database Server

  5. Cara menetapkan penghitung berdasarkan suatu kondisi