你是怎么实现往BLOB类型的列写入数据的? 是用ADO.recordset.appendchunk方法还是直接调用dbms_lob包?  我想,用oracle提供的包速度应该快一点。

解决方案 »

  1.   

    我用的是delphi里的adoconnection, adotable组件,
    写入方法如下adoconnection.open;
    adotable.open;
    adotable.append;
    adotable.fieldbyName('id').asstring := id.text;
    TBlobField(adotable.fieldbyName('id')).loadfromfile(filename);
    adotable.post;
      

  2.   

    我再用query试试,应该比table快些,
    但是ado无论如何都没有bde快,但是bde的blob size太小最大就能设置到1000K,
    几M的文件没有用bde来存取
      

  3.   

    用0040对象来实现吧,因为是oracle自己提供的,速度我想应该比
      使用ADO对象快。没有带 Delphi的例子,但是for VB/VC的都有,
      我在VB下测试过,没问题。
     
      路径: $ORACLE_HOME\bin\oo4o
      引用的tlb文件路径:$ORACLE_HOME\bin\oip8.tlb
      

  4.   

    可是我不知道怎么用呀,你能把VB和数据库连接的代码写出来吗,应该和delphi比较类似我刚才用adoquery试了,速度在7少左右,如果2M,一秒多就可以保存了,速度还行,
    谢谢老兄的帮助呀,
    现在我才明白,表记录多后,table的open很费时的,前头我的方法主要是这个地方太费时,
    用query只打开一条记录,所以速度和空表时差不太多,再次感谢
      

  5.   

    我是刚学的oracle,不太熟悉,不好意思