Delphi5+MS SQL 7.0 中 image 类型大于32K的 binary 文件存取如何实现?(200分)

  • 主题发起人 主题发起人 Mr-cure
  • 开始时间 开始时间
M

Mr-cure

Unregistered / Unconfirmed
GUEST, unregistred user!
我用delphi5 和MS SQL 7.0 做一个类似于邮件中的粘贴附件程序。
在MS SQL 中定义的附件是 image类型。看sql 的help中说明可以支持
2G的文件,可是在实际操作中,发现大于32K的文件其超过32K的部分
被截掉了。最多只存入32K个字节。:((((
现在有一解决办法是把大于32K的文件在存的时候都分割成小于32K的文件
在读的时候再把这些小文件重新拼成一个大文件。
但是我觉得这种实现方法是否有点愚蠢。
请教,是否有更好的方法?
 
在bde的别名的属性里把blob size 由32调整为更大的数。
Determines the fetch buffer size for dead BLOBs. Applications that deal with dead BLOBs using dead table opens or queries or batchmoves can set a maximum limit on the size of BLOBs to fetch. Setting this parameter to 64 means your application can fetch BLOBs of up to 64K.

This parameter does not apply to live table opens.

Default Value: 32
Range : >32 and <1000
 
我在DELPHI3+ORACLE8中也遇到这个问题,在这里发问后也没有答案。

不过,我将BDE的BLOB SIZE的大小改成64后,能读写64K的大小,其中
写没有问题,读只能64K(指用TQUERY,若用TABLE,则4M也没有问题);
将BLOB SIZE再往大设,能读的大小反而下降。

你在DELPHI5中也可以试一试。
我们有相同的问题,若不见外,可以多交流交流。
 
多人接受答案了。
 
后退
顶部