1.php insert oracle 的CLOB字段
$sql = "INSERT INTO NC57.lsdcu_callreport(pk_cu_callreport,pk_cumandoc,evaluate,visittype,ansales,anpurchases,visitdate,creator,createtime,pk_dept,visitpurpose,customadd,attcustomers,attoriginal,attrname) VALUES('".$pk_cu_callreport."','".$pk_cumandoc."','".$evaluate."','".$visittype."','".$ansales."','".$anpurchases."','".$visitdate."','".$_SESSION['erp_upk']."','".date('Y-m-d H:i:s')."','".$_SESSION['erp_udpk']."','".$visitpurpose."','".$customadd."','".$attcustomers."','".$attoriginal."',EMPTY_CLOB()) RETURNING attrname INTO :mylob_loc";
$test_query = oci_parse($conn, $sql);
$myLOB = oci_new_descriptor($conn, OCI_D_LOB);
oci_bind_by_name($test_query, ":mylob_loc", $myLOB, -1, OCI_B_CLOB);
try {
oci_execute($test_query, OCI_DEFAULT);
} catch (Exception $e) {
echo message_and_redirect('alert', '添加失败:'.$e->getMessage(), -1);
exit;
}
$myLOB->save($attrname);
oci_commit($conn);
oci_free_statement($test_query);
$myLOB->free();
2:php更新oracle CLOB字段
$attrname = iconv('utf-8', 'gbk',request_var('attrname', ''));
$up_sql = "UPDATE NC57.lsdcu_callreport SET attrname = EMPTY_CLOB() WHERE pk_cu_callreport = '".$id."' RETURNING attrname INTO :mylob";
$stmt = OCIParse($conn, $up_sql);
$mylob = OCINewDescriptor($conn,OCI_D_LOB);
OCIBindByName($stmt,':mylob',$mylob, -1, OCI_B_CLOB);
// Execute the statement using OCI_DEFAULT (begin a transaction)
OCIExecute($stmt, OCI_DEFAULT)
or die ("Unable to execute query\n");
if ( !$mylob->save($attrname) ) {
OCIRollback($conn);
echo message_and_redirect('alert', '修改失败', '/erp/list.html');
exit;
}
OCICommit($conn);
$mylob->free();
OCIFreeStatement($stmt);
echo message_and_redirect('alert', '修改成功', '/erp/list.html');
exit;
http://www.oracle.com/technetwork/articles/fuecks-lobs-095315.html