如何在SQL Server中存储图像

时间:2016-07-18 00:47:07

标签: sql-server vb.net image

我知道答案是here

但我想知道这些:

  1. 我知道如何以编程方式保存它们,但我不知道要保存它们的数据类型是什么?当我将图像转换为256KB时,我仍然可以使用image数据类型吗?或者我应该将它们保存到文件流数据类型?

  2. 该文件涉及什么样的碎片?在我的场景中,我有2k +员工并计数,这意味着我的应用程序会随着时间的推移变大,如果我将图像保存为图像,并且没有遵循研究论文所述的规则,我的图像是否会丢失完整的图片? (例如,带有蓝色背景的图片会以某种方式改变其颜色?)

  3. 我应该将其保存在员工详细信息表的确切表中吗?或者我应该将它保存在不同的表中?

  4. 抱歉,但我真的不明白NTFS的事情,是我电脑的RAM吗?还是我服务器的RAM?我使用文件服务器作为我的数据库,我是否还应该转换我的图像,还是应该使用image数据类型而不进行转换?

1 个答案:

答案 0 :(得分:1)

如果要在SQL Server中保存任何类型的文件,则应使用varbinary数据类型。除非您知道文件很小,否则您将使用varbinary(max)。然后,您可以将图像转换为Byte数组并将其保存到数据库中。

您最近可以在SQL Server实例上启用FILESTREAM选项,然后它会将数据存储在主MDF文件之外,尽管这对您的代码是透明的,因此您可以继续使用相同的查询。 / p>