当前位置:首页 > 数据库 > Oracle

在php+oracle中clob字段插入大于4000字节报stringliteraltoolong

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 queryn");
$myLOB->save('mylob_loc');
oci_commit($conn);
oci_free_statement($stmt);
$myLOB->free();
oci_close($conn);

http://www.oracle.com/technetwork/art...


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐