0

我有一个文件 Stream Sample database ,我已将记录添加到表中。当我使用 file.PathName() 我在 c# SqlFileStream类中的示例项目识别此地址并检索我的文件但没有显示在 Windows 文件资源管理器中?这个地址是什么?它是假地址吗?这个类可能会查看 FileGroup 路径以找到真实地址?如果不是这个类如何找到路径?

\ComputerName\SQL2016\v02-A60EC2F8-2B24-11DF-9CC3-AF2E56D89593\FileStreamTestDB\dbo\BLOB_Table\FileData\00953530-2F65-4AC9-81E9-0281EFB89592\VolumeHint-HarddiskVolume3

4

1 回答 1

0

列中的数据FILESTREAM存储在数据库内部。您可以通过浏览本地文件系统文件组目录来查看存储在数据库中的内部文件,FILESTREAM但该路径并未公开用于远程访问,因此根本不应该使用。您需要使用来获取通过 Win32 APISqlFileStream访问数据的句柄。FILESTREAM

如果您想通过 Windows 资源管理器或任何其他应用程序访问存储在数据库中的文件,请考虑Filetable改用。A 在内部FileTable利用FILESTEAM,但通过 UNC 路径公开存储在表中的文件以进行非事务性访问。这允许通过共享常规文件或使用 T-SQL INSERT/UPDATE/DELETE 语句添加/更改/删除文件。在这两种情况下,更改都存储在数据库中FileTable并反映在FileTable目录共享中。

于 2017-12-16T18:50:35.490 回答