用IMAGE字段来存储 上百M 的文件对象,可在SQL SERVER 2000中,IMAGE(16)字段只支持大约几十K的容量,我用的是PB9.0+SQL SERVER2000,ODBC接口,请问如何才能使IMAGE扩容,后面的16是什么意思?为什么会有16?
另外,因为要存储的文件很大,如何才能提高存储速度?

解决方案 »

  1.   

    长度为16就是指能存储2^16,即能保存64K大小的数据,所以你可以扩展image字段长度,最大能到2G!
      

  2.   

    可是如何扩展image字段长度,最大能到2G!??????????
      

  3.   

    转贴一个吧!
    MicrosoftSQLServer2000将大于   8,000   个字符的字符串和大于   8,000   个字节的二进制数据存储为称作   text   和   image   的特殊数据类型。大于   4000   个字符的   Unicode   字符串被存储在   ntext   数据类型中。   
        
      例如,必须将一个有关用户信息的大文本文件   (.txt)   导入到   SQL   Server   数据库中。应将这些数据作为一个数据块存储起来,而不是集成到数据表的多个列中。为了达到这个目的,可以创建一个   text   数据类型的列。然而,如果必须存储当前作为标记图象文件格式   (TIFF)   图像   (.tif)   存储的、每个大小为   10   KB   的公司徽标,则需创建一个   image   数据类型的列。   
        
      通常情况下,text、ntext   或   image   字符串是存储在数据行外的大型(可达   2GB)字符或二进制字符串。数据行只包括一个   16   字节的文本指针,该指针指向一个树的根节点,该树由映射存储串片段的页的内部指针构成。   
        
      当   text、ntext   或   image   串被存储在数据行时,SQL   Server   就无须访问单独的页或页的集合来读写这些串。这使得读写   text、ntext   或   image   这些行中的串就象读写   varchar、nvarchar   或   varbinary   串一样快。   
        
      为了在数据行中存储   text、ntext   或   image   字符串,必须使用   sp_tableoption   存储过程启动   text   in   row   选项。   
        
      sp_tableoption   N'MyTable',   'text   in   row',   'ON'   
        
      可以为在数据行中存储的   text、ntext   和   image   字符串指定一个从   24   到   7000   字节的最大长度(可选):   
        
      sp_tableoption   N'MyTable',   'text   in   row',   '1000'