Currently I am develop web app using Code Igniter and Oracle database. When I try to insert long char for CLOB column I get error
ORA-01704 String literal too long
How to fix this in CI?
Say I have a table in oracle like this
CREATE TABLE test(
ID NUMBER,
SUMMARY CLOB
)
When I try to insert a row (with more than 4000 cahr for SUMMARY column) using CI by this command
$this->db->set('ID','123');
$this->db->set('SUMMARY','Very long text is here');
$this->db->insert('test');
I got the string literal is too long
I use Oracle 10g
When inserting/updating CLOB values longer than 4000 characters it's needed to use binded parameters.
I'm not Code Igniter user but examinig Code Igniter's database abstraction classes shows that it doesn't use prepared statements and real variable binding (BTW: I wouldn't use Code Igniter framework because of this...).
So, the conclusion is you can't do what you want to do using Code Igniter's helpers for database interaction, at least without rewriting some of its code. I believe that in this particular case you must use "pure" PDO interface.