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字段,提示数据类型不支持。这个问题郁闷了很长时间,找了这里的一些资料也没有解决,希望
大虾出手帮忙!谢谢!
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到2.7以上
2.不要用microsoft oledb provider for oracle,而要用oracle provider for oledb
不过建议不要直接连表,那样效率很低,最好用SQL来插入
还有个问题,就是现在插入到数据库中的其他字段反而变成
了乱码,能不能帮我解释一下,多谢!
select name,substr(value$,1,30) from sys.props$ where name='NLS_CHARACTERSET'
然后看一下你的注册表:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0
(一般中文版的为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK)
看看是否一致
如果不一致,请改注册表