在Sql Server FileTable中创建子目录

时间:2017-07-04 15:22:55

标签: sql sql-server filetable

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

dplyr:: bind_rows(kk, ff)
data.table::rbindlist(list(kk, ff))
rbind(kk,ff)  

它工作正确,如果我运行它,SqlServer创建子目录' SomeFolder'。 但是,如果我尝试创建嵌套的子文件夹,我面临一个错误:

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

错误讯息为:INSERT INTO MyFiles (name, is_directory) VALUES ('FirstLevel\SecondLevel', 1)

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

An invalid filename, 'FirstLevel\SecondLevel', caused a FileTable check constraint error. Use a valid Windows filename

但我还没有INSERT INTO MyFiles (name, is_directory, parent_path_locator) VALUES ('SecondLevel', 1, pathLocatorForFirstLevel) 因为pathLocatorForFirstLevel尚未创建。也许有人知道如何创建任意名称的子文件夹?

1 个答案:

答案 0 :(得分:0)

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

using System.IO;            
DirectoryInfo di = Directory.CreateDirectory(FileServerPath + @"\" + 'FirstLevel\SecondLevel');