Сегодня потратил, наверное, более получаса пытаясь найти в «закромах Родины» свой запрос, позволяющий прочитать список файлов в заданной папке средствами SQL сервера. Вот что значит неудачно назвать хранимую процедуру и неправильно или недостаточно подробно написать комментарий относительно того, что она делает. Исправляю и дополняю комментарий, может быть кому-нибудь пригодится 🙂
/* Для выбора параметра из списка в отчёте сверки данных между Орфе и Скалой: в качестве параметра выступает часть имени .xml файла, лежащего в определённой папке на сервере Пример имени файла: RPT_SO_PICKING_CONFIRMATION_2014-07-30-110706.xml Получаемый label параметра из имени файла: 2014-07-30-110706 Получаемый параметр: http://localhost/RPT_SO_PICKING_CONFIRMATION_2014-07-30-110706.xml */ CREATE procedure usr_RS_XMLfilesToShow @FolderPath nvarchar(255)='C:\Inetpub\wwwroot', @Like nvarchar(255)='RPT_SO_PICKING_CONFIRMATION_', @URL nvarchar(255)='http://localhost/', @Right int=17 as create table #XMLfiles ( [FileName] [nvarchar](255) NOT NULL, [dept] int NOT NULL, [file] int NOT NULL, ) ON [PRIMARY] insert into #XMLfiles exec xp_dirtree @FolderPath, 1, 1 select @URL+[FileName], replace(replace([FileName],'.xml',''),@Like,'') as [Label], substring(replace(replace([FileName],'.xml',''),@Like,''),len(replace(replace([FileName],'.xml',''),@Like,''))-@Right+1,@Right) as OrderBy from #XMLfiles where [file]=1 and [FileName] like '%'+@Like+'%' order by OrderBy desc drop table #XMLfiles