1

我有一个在 FileTable 中创建子目录的简单脚本:

INSERT INTO MyFiles (name, is_directory)    
VALUES ('SomeFolder', 1, 0)

它工作正确,如果我运行它,SqlServer 会创建子目录“SomeFolder”。但是,如果我尝试创建嵌套子文件夹,则会遇到错误:

INSERT INTO MyFiles (name, is_directory)    
VALUES ('FirstLevel\SecondLevel', 1)

错误信息是:An invalid filename, 'FirstLevel\SecondLevel', caused a FileTable check constraint error. Use a valid Windows filename

据我所知,我必须为父文件夹添加 parent_path_locator 列,例如:

INSERT INTO MyFiles (name, is_directory, parent_path_locator)   
VALUES ('SecondLevel', 1, pathLocatorForFirstLevel)

但我还没有pathLocatorForFirstLevel导致FirstLevel尚未创建。也许有人知道如何创建具有任意名称的子文件夹?

4

1 回答 1

0

使用一些 C# 代码,如果该文件夹不存在,可以快速验证并创建该文件夹。

using System.IO;            
DirectoryInfo di = Directory.CreateDirectory(FileServerPath + @"\" + 'FirstLevel\SecondLevel');
于 2018-10-22T16:23:42.400 回答