Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

ORA-19011:Bộ đệm chuỗi ký tự quá nhỏ

to_clob() hàm nhận một giá trị ký tự, vì vậy bạn có một chuyển đổi ngầm định từ XMLType được trả về bởi XMLElement() thành varchar2; khi độ dài của XML vượt quá 4k (vì bạn đang ở trong ngữ cảnh SQL), bạn sẽ gặp lỗi đó.

Bạn có thể sử dụng XMLType function getCLobVal() thay vào đó:

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

Vì vậy, lệnh gọi bên ngoài tới to_clob() đã bị xóa và được thay thế bằng lệnh gọi tới XMLElement().getClobVal() .Xác minh với cả XML lớn hơn 32k.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Câu lệnh SQL để đối chiếu

  2. Cách thực hiện SQL injection trên Oracle

  3. Làm thế nào để kết nối với Oracle 10g từ máy khách từ xa?

  4. Thứ tự thực thi các điều kiện trong mệnh đề SQL 'where'

  5. Truy cập / phản lực tương đương với giải mã của Oracle