2012-12-19 30 views
5

Tôi đang sử dụng oci8 làm trình điều khiển cơ sở dữ liệu của mình trong Codeigniter. Trong khi sử dụng đoạn mã sau đó các cuộc gọi một thủ tục lưu trữ mang lại cho tôi lỗi:Lỗi: Tính năng này không khả dụng cho cơ sở dữ liệu bạn đang sử dụng

$this->db->call_function('update_letter_body', $body_letter, $insert_id); 

Error : This feature is not available for the database you are using. 

gì nên được thực hiện để làm cho công việc này?

Tôi đang cố đặt giá trị có hơn 4000 ký tự dường như không hoạt động từ truy vấn trực tiếp và có vẻ như người viết mã không hỗ trợ chức năng gọi cho oracle. Bất kỳ đề xuất ?

+0

as far as i đoán các chức năng này chỉ có sẵn để làm việc với mysql không phải với oracle tài xế oci8 –

+0

CI không được cập nhật kể từ thời gian dài tôi phải đối mặt với cùng một vấn đề đối với tôi dự án – umefarooq

+0

Bạn có chắc chắn 'CodeIgniter' sẽ không gửi truy vấn bình thường 4000 ký tự bằng cách sử dụng' $ this-> db-> query() ', hoặc có thể chỉ là' max_post_size' hoặc 'max_execution_time' được đặt thành thấp? – PhearOfRayne

Trả lời

7

hmmm, hãy thử với

$this->db->query("CALL update_letter_body(".$body_letter.",".$insert_id.")"); 

call_functioncho phép bạn gọi chức năng cơ sở dữ liệu PHP mà không phải là tự nhiên có trong CodeIgniter, không cho gọi thủ tục bạn đã viết.

kiểm tra các tài liệu

http://ellislab.com/codeigniter/user-guide/database/call_function.html

+1

Cảm ơn, nó đã hoạt động ... – hsuk

+0

@KusH, bạn được chào đón: D: D –

Các vấn đề liên quan