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

ORA-19011:Buffer string karakter terlalu kecil

to_clob() function mengambil nilai karakter, jadi Anda memiliki konversi implisit dari XMLType dikembalikan oleh XMLElement() ke varchar2; setelah panjang XML melebihi 4k (karena Anda berada dalam konteks SQL), Anda akan mendapatkan kesalahan itu.

Anda dapat menggunakan XMLType fungsi getCLobVal() sebagai gantinya:

    SELECT XMLElement("DEMANDS",
                XMLAgg(XMLElement("Demand"
                            ,XMLElement( "DemandId",dmnd_id)
                        ,XMLElement( "CreatedBy",CREATED_BY)
...
    ,XMLElement("Comments",COMMENTS)
                       ))).getClobVal()
    into OUT_CLOB
    ...

Jadi panggilan luar ke to_clob() telah dihapus, dan diganti dengan panggilan ke XMLElement().getClobVal() .Terverifikasi dengan XML yang lebih besar dari 32k juga.




  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 Oracle 12 memiliki masalah dengan tipe koleksi lokal di SQL?

  2. Bagaimana cara memuat sejumlah besar string agar sesuai dengan database Oracle?

  3. bermutasi, pemicu/fungsi mungkin tidak melihatnya- kesalahan selama eksekusi pemicu

  4. Atribut pesan UTL_MAIL memanggil OWA_UTIL.cellsprint procedure Oracle

  5. Membagi jumlah menggunakan koma di Oracle