日期:2014-05-20  浏览次数:20911 次

sqlserver中二进制存储二代身份证照片
sqlserver存储二代身份证照片的二进制流,照片应该都是一寸的,用读身份证信息的读卡器读出信息中,请问有人知道二代身份证照片二进制流,在数据库中 对应varbinary(?)字段应该设置多大比较合适呢?

现在还没有读卡器读出照片,知道的可以告诉我下么?  谢谢
------解决方案--------------------
引用:
sqlserver存储二代身份证照片的二进制流,照片应该都是一寸的,用读身份证信息的读卡器读出信息中,请问有人知道二代身份证照片二进制流,在数据库中 对应varbinary(?)字段应该设置多大比较合适呢?

现在还没有读卡器读出照片,知道的可以告诉我下么? 谢谢


varbinary(max) 


这是一个整体,不是说写max的地方你自己设置什么值。
------解决方案--------------------
我们可以计算出一张照片大小理论上可能的最大值。
长,高=物理尺寸/分辨率(点每厘米)
像素=长x高
文件大小=像素x每个象素用的字节数(比如32位色,每个象素用32bits,也就是4bytes)+固定文件头大小。
这是bitmap格式图片的大小。实际上,使用jpeg或者png压缩人头像,大约可以压缩到1/5以下。

lz也可以找一些这样的照片,根据它们的大小,求出分布率,根据分布率估算一个置信区间。
------解决方案--------------------
SQL 2000,image类型,到SQL 2005,用varbinary(max)代替,
SQL 2000,ntext类型,到SQL 2005,用nvarchar(max)代替,
这是微软推荐了。