OCI在Blob更新时执行锁定

时间:2019-03-11 14:45:56

标签: php locking oci

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,则不会发生锁定

有什么建议吗?

毛里齐奥。

0 个答案:

没有答案