使用vb.net从SQL Filestream列中检索文件

时间:2017-02-05 15:29:41

标签: sql-server vb.net sqlfilestream

说实话,我不知道文件流是如何工作的。这是我第一次使用和试验它。 所以,我能够将数据存储在文件流列中,但我不知道如何检索它或检索它后它应该如何看。 是否可以只单击一个按钮,然后文件流列中的文件才会打开?例如,我将ms文档文件存储在数据库中,然后文件将以microsoft word打开或者我存储了pdf,然后该文件将在pdf阅读器中打开。有可能吗?

对不起,如果这是一个愚蠢的问题。呵呵。谢谢。

1 个答案:

答案 0 :(得分:0)

开发人员观点中的

FILESTREAM看起来与普通varbinary(max)列没有什么不同。这意味着您将存储二进制大对象(BLOB)。然后,SQL Server将这些BLOB存储为文件系统上的文件,而不是将它们直接存储在数据库中。

您可以将其完全视为.NET端的varbinary列。获取您要存储的任何数据,将其转换为byte数组,然后将其保存到数据库中。

当您检索它时,它将再次位于byte数组中。您将需要对它进行一些操作才能使它有用(在本地将其写入文件,处理并显示它等)。

注意,如果启用它,您还可以使用Win32 API访问FILESTREAM BLOB。有关详细信息,请参阅this link