delphi 7, Oracle 8.1.7 , DBExpress连接的数据库数据库:
create table tmp(aa clob);
insert into tmp(aa) values('苏联法噢夫哦阿嫂妇女斯大林发dofusd');代码:
//sdsTmp是TSimpleDataset ,直接关联到数据库中的表内。
sdsTmp.Open;
sdsTmp.Append; // 写BLOB字段之前使 处于编辑状态。
TBlobField(sdsTmp.FieldByName('aa')).LoadFromFile('e:\aa.txt');
sdsTmp.Post;错误情况:
代码执行中没有问题,但是数据库内容不能添加上
另外,想换ado试试结果不能用adoquery访问 clob字段,提示数据类型不支持。这个问题郁闷了很长时间,找了这里的一些资料也没有解决,希望
大虾出手帮忙!谢谢!

解决方案 »

  1.   

    我在这测试没有问题,感觉你insert以后,没有commit,所以值没有插入到库中
    代码是delphi,本人不了解,只能看后面的大虾了,关注中
      

  2.   

    Clob字段在插入的字符串的长度不超过4000的时候,可以直接insert,超过了4000以后需要操作lob对象了。
      

  3.   

    create table tmp(aa clob);
    TBlobField(sdsTmp.FieldByName('aa')).LoadFromFile('e:\aa.txt');
    你到底是clob还是blob啊 有冲突吧,统一一下先!
      

  4.   

    先读'e:\aa.txt' 为 char
    然后to_lob  成clob
      

  5.   

    先清空你的lob字段 如果是blob 用 empty_blob(),如果是clob 用 empty_clob(),然后更新