Oci执行锁定在Blob更新上
我正在尝试更新Blob列,将图像数据插入其中
我正在使用类似于以下代码(为清楚起见,省略了错误检查):
$ myquery =“更新图像设置图片= EMPTY_BLOB()WHERE imageid = $ imageid将图片返回到:tempblob“;
$ resid = ociparse($ db_identifier,$ myquery);
$ lob = OCINewDescriptor($ db_identifier,OCI_D_LOB);
OCIBindByName($ resid,':tempblob',$ lob,-1,OCI_B_BLOB);
OCIExecute($ resid,OCI_NO_AUTO_COMMIT); //也尝试过OCI_DEFAULT
$ lob-> save($ this-> _ picture);
sql_tcommit($ this-> dbId,$ this-> dbType);
$ lob-> close();
如果我尝试使用相同的记录($ imageid)再次重复上述说明,则会出现问题。 (有时我可以重复该操作,不要问为什么... ;-))
在这种情况下,该程序未锁定在OCIExecure语句上,我必须将其杀死。
如果我第二次使用其他imageid,则不会发生锁定
有什么建议吗?
毛里齐奥。