在Delphi5 中操作Oracle的Blob/Clob字段的Bug.
- 作者:zhaozj
- 发表时间:2020-12-23 11:02
- 来源:未知
在某一应用中,需要在同一个表中使用两个Blob字段(本来也可以使用Long Raw字段,但Oracle中一个表只能拥有一个Long Raw):
create table docs(
? id? number constraint pk_docs primary key,
doc blob
);
但在操作中发现有些问题,利用下面的语句写Blob:
Table1.Insert;
Table1ID.AsString := 111;
?Table1Doc.LoadFromFile(f);??? //Table1Doc.DataType := ftOraBlob;
Table1.Post;
Post之后通过dbms.getlength(Doc)检查Blob字段的长度没有问题,但在利用
Table1.Open;
Table1Doc.SaveToFile(f);
语句时发现导出的文件会多出一个字节(文件比较小时可能不会)。同样Clob字段也是如此。我想这大概是D5的一个Bug吧?最后只有使用LongRawc才解决了问题,可不得不建立了两个表,不知道D7中对Blob的支持怎样?
测试环境:Delphi5+Oracle 8.05
?