如何使用 GUID 从 SQL Server FILESTREAM 检索文件路径

问题描述 投票:0回答:1

我使用 SQL Server FILESTREAM 来存储二进制大对象 (BLOB)。我有一个表,其中包含 varbinary(max) 列和 uniqueidentifier (GUID) 列。每个唯一标识符对应于 FILESTREAM 中的特定文件。

例如:

GUID D54F345C-56AA-40F6-90DB-A17C23117A40 对应文件 00002e64-000002f7-000b
GUID 1BEEA191-D046-48F9-8290-DD193F9BDCB5 对应于文件 00003a4d-000005be-0003
GUID FCFB269A-6E4C-4A2C-9F0B-2AE7EABD07CF 对应于文件 00000c05-00000058-000a
GUID BC0D325A-6710-4618-B607-79F0A705AB15 对应于文件 0000317e-000000a9-0003
GUID 30C2376E-0BF5-4321-BB28-25F45B8469DF 对应于文件 00001fed-0000010a-000a

我正在尝试从数据库中检索这些 GUID 的文件路径。这似乎是一项基本任务,但我无法在网上找到简单的解决方案。

有人可以提供 SQL 查询或指导如何查询数据库以查找给定 GUID 的文件路径吗?

sql-server sql-server-2012 blob sqlfilestream
1个回答
0
投票

FILESTREAM 不支持通过所有普通文件系统 API 进行访问。您可以使用特殊的 API 获取文件的文件句柄。

请参阅 使用 OpenSqlFilestream 访问 FILESTREAM 数据

如果您使用较新的 File Tables 功能,该功能“可以将文件和文档存储在 SQL Server 中称为 FileTables 的特殊表中,但可以从 Windows 应用程序访问它们,就好像它们存储在文件系统中一样,无需对您的客户端应用程序。”

© www.soinside.com 2019 - 2024. All rights reserved.