Jun*_*r M 16 ado.net image varbinary sql-server-2008
我在互联网上阅读有关SQL Server数据类型的这些陈述:
VARBINARY(MAX) - 具有可变长度的二进制字符串可以存储最多2 ^ 31-1个字节.
IMAGE - 二进制字符串,可变长度最大为2 ^ 31-1(2,147,483,647)字节.
VARBINARY(MAX)和IMAGE数据类型之间是否存在非常大的技术差异?
如果存在差异:我们是否必须自定义ADO.NET如何在SQL Server中插入和更新图像数据字段?
小智 5
\n\n\n它们存储相同的数据:仅此而已。
\n\n“image”已被弃用,并且具有一组有限的与其配合使用的功能和操作。varbinary(max) 可以像较短\n varbinary 一样进行操作(文本和 varchar(max) 也是如此)。
\n\n不要在任何新项目中使用图像:只需在此处搜索人们因功能有限而遇到的图像和文本数据类型问题。
\n
事实上,VARBINARY可以存储任何可以转换为字节数组的数据,例如文件,这与数据类型使用的过程相同IMAGE,因此,从这一点来看,两种数据类型都可以存储相同的数据。\n但是VARBINARY有一个 size 属性,同时IMAGE接受不超过数据类型限制的任何大小,因此在使用IMAGE数据类型时,您将花费更多的资源来存储相同的数据。\n在Microsoft\xc2\xae SQL Server\xc2\xae 中,IMAGE数据类型确实已弃用,那么您必须在VARBINARY数据类型上下注。
但要小心:Microsoft\xc2\xae SQL Server\xc2\xae CE\xc2\xae(包括最新的4.0版本)仍在使用IMAGE数据类型,并且这种数据类型可能不会这么快“消失”,因为在Compact Edition版本中,这种数据类型比任何其他数据类型都更能快速存储文件。