[求助]ADO操作Oracle,select和Update之间阻塞导致死锁

辅_ 2016-08-04 02:45:21
楼主需要往Oracle [fileContent]字段插入文件(CLOB)
用的方法如下:

strSQL.Format(_T("select * from sh_lw_environdata where no= %d),num);
try
{
m_Rec->Open(_variant_t(strSQL),_variant_t((IDispatch *) m_Conn,true),adOpenKeyset,adLockOptimistic,adCmdText);
}catch(_com_error e)
{
return;
}
try
{
m_Rec->GetFields()->GetItem("fileContent")->AppendChunk(varCLOB);
m_Rec->Update();
}catch(_com_error e)
{
return;
}


但是m_Rec->Update(); 造成锁死,等我再一次执行上诉代码时,就会在m_Rec->Open()处卡死!!!!!



楼主只是想实现文件写入CLOB操作啊!!!!
求助大神如何解锁或是其他插入CLOB的方法,谢谢!!!

...全文
213 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
辅_ 2016-08-12
  • 打赏
  • 举报
回复
没人能够解答么
辅_ 2016-08-10
  • 打赏
  • 举报
回复
天上的猩猩Y 2016-08-09
  • 打赏
  • 举报
回复
恩?mark up
辅_ 2016-08-09
  • 打赏
  • 举报
回复
up。。。。
辅_ 2016-08-08
  • 打赏
  • 举报
回复
引用 3 楼 oyljerry 的回复:
Update完了,有没有Commit提交
是啊,可是怎么commit呢?adLockOptimistic参数遇到Update()是一定会锁死的
辅_ 2016-08-08
  • 打赏
  • 举报
回复
引用 2 楼 zyq5945 的回复:
先换成普通的字段类型试试看卡不卡。
普通字段直接insrert或者update了,怎么可能阻塞
辅_ 2016-08-08
  • 打赏
  • 举报
回复
引用 1 楼 chengbar 的回复:
执行commit
怎么用代码执行Commit呢
oyljerry 2016-08-05
  • 打赏
  • 举报
回复
Update完了,有没有Commit提交
zyq5945 2016-08-04
  • 打赏
  • 举报
回复
先换成普通的字段类型试试看卡不卡。
sevancheng 2016-08-04
  • 打赏
  • 举报
回复
执行commit

4,012

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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