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

Bagaimana mengatasi ORA-06512 di nomor baris

Daftar Isi

Deskripsi dalam database Oracle

ORA-06512 di oracle adalah salah satu kesalahan umum yang terlihat pada program PLSQL di database Oracle

Inilah yang dikatakan dokumentasi Oracle tentang kesalahan ini

Referensi :Dokumentasi Oracle

Anda dapat menemukan ini selalu dengan mengetik di bawah ini di Unix

oerr ORA 06512

Penjelasan kesalahan ORA-06512:

Kesalahan ORA-06512 berarti pesan lacak balik saat tumpukan dibatalkan oleh pengecualian yang tidak tertangani dalam kode PLSQL Anda. Ini adalah kesalahan umum untuk Semua pengecualian PLSQL dan biasanya terlihat.

ORA 6512 tidak menunjukkan kesalahan yang sebenarnya, tetapi nomor baris kesalahan yang tidak tertangani dalam kode PLSQL. ORA-6512 biasanya akan muncul di tumpukan pesan di mana pesan sebelumnya menyebutkan alasan kesalahan, seperti dalam contoh berikut:

ORA-06502:PL/SQL:kesalahan numerik atau nilai ORA-06512:pada baris 1112

Di atas, kesalahan yang disorot kuning adalah kesalahan utama

Alasan untuk kesalahan ORA-06512:

Opsi untuk mengatasi kesalahan Oracle ini adalah:

1) Perbaiki kondisi yang menyebabkan kesalahan yang tidak tertangani.
2) Tulis penangan pengecualian untuk kesalahan yang tidak tertangani ini.
3) Hubungi Oracle DBA Anda untuk mendapatkan bantuan.

Contoh ORA-06512:

Mari kita lihat beberapa contoh tentang cara mengerjakannya

BUAT ATAU GANTI PROSEDUR Testora_procASSite_name varchar2(5);beginsite_name :='techgoeasy.com';end;/Prosedur dibuat.sql> Exec Testora_procERROR pada baris 1:ORA-06502:PL/SQL:kesalahan numerik atau nilai:karakter buffer string terlalu kecilORA-06512:pada baris 5

Dalam contoh yang diberikan di atas, prosedur berhasil dikompilasi tetapi memberikan kesalahan saat eksekusi

Jadi kesalahan sebenarnya adalah kesalahan

ORA-06502:PL/SQL:numerik atau kesalahan nilai:buffer string karakter terlalu kecil

Kita dapat dengan mudah memperbaikinya dengan meningkatkan ukuran variabel

BUAT ATAU GANTI PROSEDUR Testora_procASSite_name varchar2(20);beginsite_name :='techgoeasy.com';end;/Prosedur dibuat.SQL> Prosedur Exec TestoraprocPL/SQL berhasil diselesaikan.

Kita bisa menyelesaikan ini dengan menggunakan exception handler juga

BUAT ATAU GANTI PROSEDUR Testora_procASSite_name varchar2(5);beginsite_name :='techgoeasy.com';PENGECUALIAN KETIKA ORANG LAIN MAKAnama_situs :='tech';end;/Prosedur dibuat.SQL>Exec Testoraproc;prosedur PL/SQL berhasil diselesaikan. 

Contoh lainnya adalah

BUAT ATAU GANTI PROSEDUR Testora_procASnode_name varchar2(5);mulai pilih simpul menjadi nama_node dari db_node;end;/Prosedur dibuatSQL> Exec Testora_proc;ORA-01422:pengambilan tepat mengembalikan lebih dari jumlah baris yang diminta ORA-06512:pada “NODE_NAME”, baris 4ORA-06512:pada baris 1

Di sini ORA-01422 adalah kesalahan sebenarnya. kami memiliki lebih dari 1 baris dalam tabel db_node dan mendapatkan beberapa nilai untuk node. Jadi satu perbaikan dapat membatasi satu baris

BUAT ATAU GANTI PROSEDUR Testora_procASnode_name varchar2(5);mulai pilih node menjadi node_name dari db_node di mana rownum <2;end;/Procedure CreatedSQL> Exec Testora_proc;PL/SQL prosedur berhasil diselesaikan.

Contoh lainnya adalah

BUAT ATAU GANTI PROSEDUR Testora_procASnode_name varchar2(5);mulai pilih node menjadi node_name dari db_node;end;/Prosedur dibuatSQL> Exec Testora_proc;ORA-01403:tidak ada data yang ditemukan ORA-06512:pada “NODE_NAME”, baris 4ORA-06512:pada baris 1

Di sini ORA-01403 adalah kesalahan sebenarnya. kami tidak memiliki baris di tabel oracle db_node dan kami tidak mendapatkan kesalahan data yang ditemukan. Jadi satu perbaikan dapat menempatkan penanganan pengecualian

BUAT ATAU GANTI PROSEDUR Testora_procASnode_name varchar2(5);mulai pilih node menjadi node_name dari db_node di mana rownum <2;PENGECUALIAN KETIKA NO_DATA_FOUND  MAKA node_name :='tech'; akhir; /Prosedur yang dibuatSQL> Exec Testora_proc;Prosedur PL/SQL berhasil diselesaikan.

Beberapa contoh lainnya dapat dilihat di SYS.UTL_FILE

SQL> mendeklarasikanF_LOG utl_file.file_type;beginF_LOG :=utl_file.fopen('TESTDIR','k', 'w');end;/ 2 3 4 5 6declare*ERROR pada baris 1:ORA-29283 :operasi file tidak valid ORA-06512:pada "SYS.UTL_FILE", baris 536ORA-29283:operasi file tidak validORA-06512:pada baris 4

Di sini kesalahan utamanya adalah ORA-29283. Periksa solusinya dengan mengklik tautan

Semoga Anda menyukai postingan ini di ORA-6512 Pesan Kesalahan

Artikel terkait
ORA-00911
ORA-03113
ORA-00257
ORA-27154
ORA-29913
ORA-20001 dalam Mengumpulkan statistik skema pada 11g(FND_HISTOGRAM_COLS )

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah mungkin untuk menghasilkan model Django dari database?

  2. Pernyataan FORALL Dengan Batas Bawah &Atas di Database Oracle

  3. Pisahkan File Teks/CSV Besar menjadi Beberapa File di PL SQL

  4. ORACLE Cara menggunakan spool dengan lokasi spool dinamis

  5. Bagaimana saya bisa menghitung jumlah kata dalam string di Oracle?