您好,欢迎访问一九零五行业门户网

在php+oracle中clob字段插入大于4000字节报string literal too long

rt,google说是sql语句太长,可以用绑定变量的形式。项目用的是yii,so,我用yii的bindparam ,倒是解决了 报字符太长的错,可是新的错误来了:仅能绑定要插入 long 列的 long 值。。
纠结中,,求助。。
这个问题已被关闭,原因:
回复内容: rt,google说是sql语句太长,可以用绑定变量的形式。项目用的是yii,so,我用yii的bindparam ,倒是解决了 报字符太长的错,可是新的错误来了:仅能绑定要插入 long 列的 long 值。。
纠结中,,求助。。
挖坟。。隔了这么久,偶然找到了解决方法。。原来oracle 官方文档就有方法。。汗。。。
使用 php_oci8扩展。
在插入时:
$sql = insert into mylobs (id,mylob) values (mylobs_id_seq.nextval,empty_clob()) returning mylob into :mylob_loc;$stmt = oci_parse($conn, $sql);$mylob = oci_new_descriptor($conn, oci_d_lob);oci_bind_by_name($stmt, :mylob_loc, $mylob, -1, oci_b_clob);oci_execute($stmt, oci_default) or die (unable to execute query\n);$mylob->save('mylob_loc');oci_commit($conn);oci_free_statement($stmt);$mylob->free();oci_close($conn);
http://www.oracle.com/technetwork/art...
其它类似信息

推荐信息