高分求助,oracle存储大字段问题!

ronghuan 2004-07-07 10:29:08
我使用的是oracle8I,在clob类型的字段中保存图片文件是出错,请问这与PHP的配置有关吗,还是8I不能使用BLOB CLOB字段呢????
...全文
110 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2004-07-07
  • 打赏
  • 举报
回复
参考这个东西:
php中如何同时向oracle插入多个clob类型列数据?
hoomail 发表于 2002-5-30 16:38 PHP编程

代码是:
$sql="insert into articles(1,"你好",EMPTY_CLOB(),EMPTY_CLOB()) RETURNING(content_1,content_2) INTO(:content_1,:content_2)";
$oracle_exec = OCIParse($oracle_conn,$sql);
$lob = OCINewDescriptor($oracle_conn, OCI_D_LOB);
$ccc = OCINewDescriptor($oracle_conn, OCI_D_LOB);
OCIBindByName($oracle_exec,':content_1',&$lob,-1,OCI_B_CLOB); OCIBindByName($oracle_exec,':content_2',&$ccc,-1,OCI_B_CLOB);
if(!OCIExecute($oracle_exec,OCI_DEFAULT)){
echo " Execution failed";
exit;
}
if($lob->save($row[3])){
OCICommit($oracle_conn);
echo $row["id"]." content_1 上传成功 ";
}else{
echo $row["id"]."content_1 上传失败 ";
}
if($ccc->save($row[17])){
OCICommit($oracle_conn);
echo $row["id"]." count_2 上传成功 ";
}else{
echo $row["id"]." count_2 上传失败 ";
}
OCIFreeDesc($lob);
OCIFreeDesc($ccc);
结果,content_1数据入库,content_2没有入库,还报错:
Warning: OCILobWrite: ORA-22990: LOB locators cannot span transactions in ****************
请各位大侠指点!




PHP插入CLOB类型不能直接插!
蓝蝴蝶 发表于 2002-5-30 17:08 PHP编程 ←返回版面 [快速返回]

$stmtJBXX = OCIParse($Conn,$strJBXX);
$objJBXX = OCINewDescriptor($Conn, OCI_D_LOB);
OCIBindByName($stmtJBXX, ':C_JYJS', &$objJBXX, -1, OCI_B_CLOB);
OCIExecute($stmtJBXX,OCI_DEFAULT);
if($objJBXX->save($C_JYJS)){
OCICommit($Conn);
}
//释放LOB对象
OCIFreeDesc($objJBXX);
OCIFreeStatement($stmtJBXX);

以上代码仅供参考,要用OCINewDescriptor进行解释后才可以将
':C_JYJS'大文本存入,注意类型:很重要,与CONN对象连接时用OCI_D_LOB类型,绑定时用OCI_B_CLOB。多试几次。

ronghuan 2004-07-07
  • 打赏
  • 举报
回复
$stmt = OCIParse($conn,"INSERT INTO news (id,title,content1,picture) VALUES (seq_news.NEXTVAL,'$title','$btext_type',EMPTY_BLOB()) RETURNING picture INTO :PICTURE");
$lob = OCINewDescriptor($conn,OCI_D_LOB);
OCIBindByName($stmt, ':PICTURE',&$lob,-1,OCI_B_BLOB);
OCIExecute($stmt);
if($lob->savefile($btext)){
OCICommit($conn);
echo "上传成功〈br〉";
}else{
echo "上传失败〈br〉";
}

各位大侠,看看程序有什么问题?????????????

21,886

社区成员

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

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