请教关于用Delphi5.0中的TQuery向Ms Sql Server7.0保存大图象(即:TBlobStream)?

saipm 2000-06-07 01:25:00
我在Ms Sql Server7.0中有一个表,该表中有Image类型的字段,用TTable通过以下方法写任何的图象(BlobStream)到该字段都没有问题:方法1是用TDBImage直接连接; 方法2是用TBlobStream流的方法进行写.
但是,若将TTable改为TQuery时,小的图象没有问题;然而图象稍大,以上两种方法都提示"Invalid Blob Length"错误! 不知何故,TQuery和TTable还有如此的差异.请教各位,如何解决TQuery的这个问题? (注:考虑到网络效率, 本人只能用TQuery实现读写此Image字段).谢谢了!
...全文
190 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lixq 2000-06-08
  • 打赏
  • 举报
回复
非常感谢蔡兄,有您这样热心的人在,中国的软件就大有希望。
saipm 2000-06-07
  • 打赏
  • 举报
回复
halfdream,zsr:
你们好! 其实, 我是在BDE管理器中设置了BLOB SIZE和BLOB TO CACHE, 只不过设得不够大! 谢谢你们的提醒. 同时也发现这两个设置对Live Table 没有作用. 所以才有"用TTable没有问题, 而TQuery则提示Invalid Blob Length"现象 , 同时, 这也误导了我, 使我以为设置OK! 不过, 我还是不知对设这两个参数多大为好! 因为我发现图象大小为50,60K, 这两个参数要100K以上才行.
lixq 2000-06-07
  • 打赏
  • 举报
回复
我也想知道解决方法。另外,烦请saipm介绍一下您的第二种方法。最好能有代码示例。
mailto:lixqmaster@sina.com。拜托了。
zsr 2000-06-07
  • 打赏
  • 举报
回复
利用Query来查询Blob字段时,如果字段内容较大,需要在BDE的configuration中修改数据库驱动程序的初始值,主要是Blob size 和Blobs to cache两项,一般将前者设为blob字段的可能最大值,后者应大于前者。
halfdream 2000-06-07
  • 打赏
  • 举报
回复
TTable 实质也是通过了SQL,
你用SQL monitor 跟踪一下。
同TQuery 产生的SQL,对比一下,也许能找出问题所在。

另外,数据库连接选项中的Blob Size 的大小设置没有? 它缺省值是32,单位是K。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧