有用过插入oracle的clob字段的朋友吗?

shuangyu 2004-09-21 10:38:26
$sql_insert= "insert into test_clob (tid,phone,tclob) values (1,'".$bw_bwphone."','".$bw_text."')";
$handle_insert = OCIParse($conn,$sql_insert);
OCIExecute($handle_insert);
echo "增加成功!";
echo strlen($bw_text);
OCIFreeStatement($handle_insert);
当大于4K就出下面的错:
Warning: ociexecute(): OCIStmtExecute: ORA-01704: string literal too long in /usr/local/apache/htdocs/test_clobaddtodb.php on line 12
增加成功!27260
想问一下,如何在PHP在插入大于4K的数据到CLOB
...全文
143 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
shuangyu 2004-09-22
  • 打赏
  • 举报
回复
screend(流浪小子):
有PHP的现成程序吗,我别的字段的如何插入,这个方式好像是指流的型 式来做的吧,PHP刚学,不太懂,帮手来一下,上面有表的插入语句
screend 2004-09-21
  • 打赏
  • 举报
回复
呵呵,shuangyu(虎口脱险) 说的很个正确,oracle对SQL的最大长度限制是4K字节,解决办法是用oracle的dbms_lob包,procedure:
DBMS_LOB.LOADFROMFILE(
dest_lob IN OUT NOCOPY CLOB CHARACTER SET ANY_CS,
src_file IN BFILE,
amount IN INTEGER,
dest_offset IN INTEGER := 1,
src_offset IN INTEGER := 1);
即是用来将>4K的数据重文件load到clob字段中去
shuangyu 2004-09-21
  • 打赏
  • 举报
回复
clob最大是4G,不是CLOB的问题,是ORACLE的PL/SQL根本就不让你的SQL字串大于4K
leyan728 2004-09-21
  • 打赏
  • 举报
回复
clob实际上是一个32位的指针.
足够支持4k的.
应该是语句的问题.
101monster 2004-09-21
  • 打赏
  • 举报
回复
UP

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧