2011-03-16 107 views
0

我正在使用Sql Server 2008.我可以将文件加载到目录中;以下代码:如何遍历并获取SQL Server目录中的子目录?

Set @Path = 'C:\Test\' 
Set @param = 'dir /B ' + @Path + '*.txt' 

我想要的是获取在Test目录的子目录中的文件。 说测试/临时文件夹和临时文件夹包含多个文件夹说1,2,3(每个contining多个文件)。我想遍历temp中的所有文件夹并获取每个子目录中的文件(1,2,3)。然后在Sql表中加载文件。

请教

+0

SQL Server是一个**数据库**服务器 - 它并不真正处理目录和文件 - 这是**文件服务器**的工作。如果您想批量加载一堆文件,请在您的文件服务器上编写一个脚本,以调用例如SQL Server上的'bcp' - SQL Server实际上并不是用于处理文件的.... – 2011-03-16 07:07:50

回答

1

这个问题的最佳答案可能是根本不使用SQL。

如果你想做一些与subdirs有关的事情,你可以试试tree /F,但是你会发现实际上很难解析。

也许你可以试试看一下诸如python或vbscript这样的脚本语言来帮助你。你可以扫描文件,甚至可以获得更多关于文件放入数据库的信息,例如文件大小和上次修改日期?

1

使用/S开启dir以获取子目录中的内容。