我有一个文件流示例数据库,我已将记录添加到表中。 当我使用file.PathName()时,我在c# SqlFileStream 类中的示例项目识别此地址并检索我的文件,但未在Windows文件资源管理器中显示? 这是什么地址?这是假地址吗?这个类可以查看FileGroup路径来查找真实地址吗?如果不是这个类如何查找路径?
\计算机名\ SQL2016 \ V02-A60EC2F8-2B24-11DF-9CC3-AF2E56D89593 \ FileStreamTestDB \ DBO \ BLOB_Table \的FileData \ 00953530-2F65-4AC9-81E9-0281EFB89592 \ VolumeHint-HarddiskVolume3
答案 0 :(得分:0)
FILESTREAM
列中的数据存储在数据库内。您可以通过浏览本地文件系统FILESTREAM
文件组目录来查看存储在数据库中的内部文件,但该路径不会公开以进行远程访问,因此根本不应使用。您需要使用SqlFileStream
来获取通过Win32 API访问FILESTREAM
数据的句柄。
如果要通过Windows资源管理器或任何其他应用程序访问存储在数据库中的文件,请考虑使用Filetable
。 FileTable
在内部利用FILESTEAM
但通过UNC路径公开存储在表中的文件以进行非事务性访问。这允许通过共享只是常规文件或使用T-SQL INSERT / UPDATE / DELETE语句添加/更改/删除文件。在这两种情况下,更改都存储在数据库FileTable
中,并反映在FileTable
目录共享中。