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.   

    用ADO没问题
    1.升ado到2.7以上
    2.不要用microsoft oledb provider for oracle,而要用oracle  provider for oledb
    不过建议不要直接连表,那样效率很低,最好用SQL来插入
      

  2.   

    多谢keiy,改为oracle provider for oledb后能插入clob字段
    还有个问题,就是现在插入到数据库中的其他字段反而变成
    了乱码,能不能帮我解释一下,多谢!
      

  3.   

    首先看一下你数据库的符集(以系统管理员用SQLPLUS):
    select name,substr(value$,1,30) from sys.props$ where name='NLS_CHARACTERSET'
    然后看一下你的注册表:
    HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0
    (一般中文版的为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK)
    看看是否一致
    如果不一致,请改注册表