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

PHP:oci_bind_by_name và trường dấu thời gian cho kết quả ORA-01461:có thể liên kết một giá trị LONG chỉ để chèn vào cột LONG

Từ ( http://www.php .net / manual / en / function.oci-bind-by-name.php # 92334 ):

Đôi khi bạn gặp lỗi "ORA-01461:có thể liên kết giá trị DÀI chỉ để chèn vào cột DÀI". Lỗi này rất dễ gây hiểu lầm, đặc biệt khi bạn không có cột DÀI hoặc giá trị DÀI.

Từ thử nghiệm của tôi, có vẻ như lỗi này có thể được gây ra khi giá trị của một biến bị ràng buộc vượt quá độ dài được phân bổ.

Để tránh lỗi này, hãy đảm bảo bạn chỉ định độ dài khi ràng buộc các véc-tơ, ví dụ:

<?php
    oci_bind_by_name($stmt,':string',$string, 256);
?>

Và đối với các số, hãy sử dụng độ dài mặc định (-1) nhưng nói với oracle rằng nó là một số nguyên, ví dụ:

<?php
    oci_bind_by_name($stmt,':num',$num, -1, SQLT_INT);
?>



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chèn nhiều hàng từ Khung dữ liệu R vào Cơ sở dữ liệu Oracle

  2. Làm cách nào để gỡ cài đặt thủ công Oracle?

  3. Điều hướng từ Ứng dụng A đến Ứng dụng B với cùng một thông tin xác thực - APEX 19.2

  4. Có hàm MD5 Sum trong PL / SQL không

  5. Tệp tải lên trong ứng dụng không phải Apex PL / SQL đã được di chuyển sang ORDS