none
SQL2008的Filestream不是处理大文件的吗??我3G的文件为什么不行呢?? RRS feed

  • 问题

  • 代码如下:

    go
    -- Declare a variable to store the image data
    DECLARE @img AS VARBINARY(MAX)
    -- Load the image data
    SELECT @img = CAST(bulkcolumn AS VARBINARY(MAX))
          FROM OPENROWSET(BULK 'E:\MZJH\F\software\development\DATABASE\SQL2008r2\cn_2008_r2_standard_x86_x64_ia64.iso',SINGLE_BLOB ) AS x  
    insert into myfiles([filename],remark,filesize,files)
    select 'sql 2008 r2 x68x64','',2,@img;

    go

    2011年8月27日 14:51

答案

  • 你哪里用filestream了?你仔细看看示例,filestream是怎么用的。


    想不想时已是想,不如不想都不想。
    我用的不对吗??就是把文件保存到数据库里呀...而不是存在Varbinary(max)字段本身.在磁盘上不是自动产生一个文件夹吗?


    你这个是将数据文件读取到二进制流中,然后存放在一个数据字段中

    这个字段虽然是max的但是最多只能支持2G内容,所以你存放不了。

    ps,filestream的用户搜索一下吧。


    family as water
    2011年8月31日 1:12
  • 我建了文件组的,也把表的字段指定为Filestream了呀

    问题出在你插入数据的处理语句上, OPENROWSET BULK SINGLE_BLOB 返回的是 varbinary(max), 这个数据类型的上限是 2GB

    所以,你应该考虑直接用程序来写数据

    2011年9月2日 0:27

全部回复