sql2000,我这有个byte[],长度四千多,
存到数据库里 只能存十三个长度。
数据类型是imageoracle的blob就没问题,换了数据库以后就这样了。哪位大哥知道为什么

解决方案 »

  1.   

    image 是不行的 用text吧
      

  2.   

    你这个是字节型,ntext可变长度 Unicode 数据的最大长度为 230 - 1 (1,073,741,823) 个字符。存储大小是所输入字符个数的两倍(以字节为单位)。ntext 在 SQL-92 中的同义词是 national text。text服务器代码页中的可变长度非 Unicode 数据的最大长度为 231-1 (2,147,483,647) 个字符。当服务器代码页使用双字节字符时,存储量仍是 2,147,483,647 字节。存储大小可能小于 2,147,483,647 字节(取决于字符串)。用TEXT试试
      

  3.   

    我打断点的时候。在进数据库之前还是4000多length
      

  4.   

    请问下,存储过程里。怎么用text类型呢
      

  5.   

    text 保存到数据库是 byte[] 这个肯定不行
      

  6.   

    image 是可以的,问题是你怎么存入的,特别是你的客户端怎么调用的
      

  7.   

    顺便提一句,image马上过时了,如果你用2005+,改用varbinary(max)
      

  8.   

    貌似没问题...我以前保存到sql2005的image中都可以的,image可以存2G啊
    不清楚sql2000
      

  9.   

    我知道为什么了。因为我在存储过程里写的,然后参数是string类型了。所以就被自动截取。
    用Parameters.Add(...,SqlDbType.Image).Value = ...;
    这样就OK了。谢谢大家