存入BLOB字段出现写错误(200分)

  • 主题发起人 主题发起人 吴向球
  • 开始时间 开始时间

吴向球

Unregistered / Unconfirmed
GUEST, unregistred user!
INTERBASE数据库中,定义了一个TBLOBFIEld型的永久字段,
字段大小为64k,但是当我用loadfromfile向字段中存取图形数据时
发生"stream write error"错误,如果定义的表格中只有二至三个
字段时不发生错误,而定义的表格中如果有十几个字段时,
就发生上述错误,经过多次尝试,问题依旧.
 
设置BDE中的Blob Size
 
我也遇到过类似的问题,不知你遇到过没有,memo无法放入超过64k的内容!尽管理
论上是2g。后来听某高手称是操作系统的限制云云。
我猜测您的问题在BDE,而不是interbase。也许delphi程序都是从一个共用堆上
瓜分地盘吧。
 
BDE 中的 blob size 默认是32k ,超过了就存不了,把它改大一些,最好在程序中该!
 
设置DataBase与Blob有关的属性
BlobSize=1024
blobCache=2048
注意倍数关系
可察看前面的帖子
 
我这样试了几十遍了,从来没成功过,您能否说的在详细一些?或给出些例子?
 
我想不通,这和BLOBSIZE有关吗?
 
procedure TForm1.Button2Click(Sender: TObject);
begin
Query1.Open;
if not (Query1.State in [dsInsert, dsEdit]) then Query1.Insert;
Query1DOCIMAGE.LoadFromFile('F:/test/1.bmp');
Query1.Post;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Query1DOCIMAGE.SaveToFile('F:/Test/2.bmp');
end;
我在D5+sqlsever7.0下通过
COpy了一个 8M的影像文件到服务器,再从服务端取下来大越10秒;
我的bde设置blobsize为10240,连接的时候会变慢


 
调通了别忘了给分!
 
我存过 5 M的东西,没什么事啊
 
可以知道你的query1docimage是怎莫添加进去的吗?另外,我在执行你的程序时"stream
write error",我已经修改了bde设置(使用的是oracle数据库)
 
可能图形数据大于64K在库中不能全部保存
 
to fan_7:在程序中改和在BDE Administrator中改有区别吗?因为我在BA中改没有用。:)
 
to 嘻嘻哈:
procedure TForm1.Button2Click(Sender: TObject);
begin
Query1.Open;
if not (Query1.State in [dsInsert, dsEdit]) then Query1.Insert;
Query1DOCIMAGE.LoadFromFile('F:/test/1.bmp');
Query1.Post;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Query1DOCIMAGE.SaveToFile('F:/Test/2.bmp');
end;


Query1DOCIMAGE 是什么呀?



 
》Query1DOCIMAGE 是什么呀?
是TQUERY!

数据库里有没有数据?一般是读出数据时,格式不对才出现这种情况的!

 
Query1.OPen 打开的是一个query , Query1DOCIMAGE 又是query,
用到了2个query 吗?
 
那可能是与QUERY连接的IMAGE一类的控件!:)
 
Query1DOCIMAGE是字段名。。。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
916
SUNSTONE的Delphi笔记
S
后退
顶部