本帖最后由 howei 于 2010-04-24 17:12:55 编辑

解决方案 »

  1.   

    那数据库端有什么反应?select event from v$session_wait;看看是不是有enqueue
      

  2.   


    针对Oracle数据库,建议你还是用insert into (...., null (for blob column))
    然后select <blob> from table for update来进行更新完成一次插入操作
      

  3.   

    回复 :  2 楼 iihero 
        正在尝试~~~
        使用CreateParameter函数报错~~晕死~~
        VARIANT vBLOB; 
        SAFEARRAY *psa;
        SAFEARRAYBOUND rgsabound[1];
        rgsabound[0].lLbound   =   0; 
        rgsabound[0].cElements   =   m_nFileLen; 
        psa   =   SafeArrayCreate(VT_UI1,   1,   rgsabound); 
        for   (long   i   =   0;   i   <m_nFileLen;   i++) 
    SafeArrayPutElement   (psa,   &i,   pBuffer++); 
        vBLOB.vt   =   VT_ARRAY   |   VT_UI1; 
        vBLOB.parray   =   psa; 
        pParam1   =  pCommand1->CreateParameter((LPCTSTR)"MSG_DATA",adVarBinary ,adParamInput,m_nFileLen,vBLOB);  
    //出错~~~   不知道究竟是哪个参数不对~~~
        hr   =   pCommand1->Parameters->Append(pParam1);   
        hr   =   pCommand1->Execute(&vRecsAffected,   &vNull,   adCmdText);