xp_dirtree для загрузки всех CSV-файлов из одной папки в одну таблицу - PullRequest
0 голосов
/ 08 мая 2019

У меня есть почти 100 файлов CSV в папке с теми же заголовками и форматом заголовка.Мне нужно загрузить все данные из этих файлов CSV в одну таблицу на сервере SQL.Я использую SSMS для загрузки файлов.Я понимаю об ограничениях разрешений и разработал их.

Я даже использую xp_dirtree, чтобы вывести список всех файлов из этой папки, но теперь мне нужно загрузить данные из всех этих перечисленных файлов в предопределенную таблицу (таблица A, которая содержит заголовки).Пожалуйста, помогите.

Спасибо

- Код для получения списка файлов -

if object_id('tempdb..#directory','U') is not null
begin
    drop table #directory;
end;
    create table #directory (
 [subdirectory] varchar(512) 
,[depth] int
,[file] int
);
insert into #directory ([subdirectory],[depth],[file])
EXEC master.dbo.xp_DirTree'C:\Users\CSV temp',0,1;

select [subdirectory],[depth] from #directory
where [file] = 1

1 Ответ

0 голосов
/ 08 мая 2019

Теоретически вы можете использовать BULK INSERT для загрузки файлов изнутри SQL Server, не прибегая к внешним инструментам. Однако формат CSV поддерживается только в SQL Server 2017 и более поздних версиях.

Если ваша версия SQL Server не поддерживает ее, единственным (почти) вариантом является пакет служб SSIS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...