【问题标题】:Retrieve a file from a SQL Filestream column using vb.net使用 vb.net 从 SQL Filestream 列中检索文件
【发布时间】:2017-02-05 15:29:40
【问题描述】:

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

如果这是一个愚蠢的问题,我很抱歉。呵呵。谢谢。

【问题讨论】:

  • 你可以看看文件表。这些存储在数据库中并使用文件流进行存储,但也允许非事务访问,因此您可以像其他文件一样通过 UNC 路径访问文件。见msdn.microsoft.com/en-us/library/ff929144.aspx

标签: sql-server vb.net sqlfilestream


【解决方案1】:

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

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

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

旁注,如果启用,您还可以使用 Win32 API 访问 FILESTREAM BLOB。请参阅this link 了解更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-10
    • 1970-01-01
    • 2011-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多