Импорт CSV с разделами данных с помощью BCP, BULK Insert или openrowdataset

#sql #bulkinsert #bcp

#sql #bulkinsert #bcp

Вопрос:

У меня есть файл CSV в следующем формате, который я хочу импортировать в таблицу SQL.

У меня есть рабочее решение для прямого CSV, например

заголовок

Строки столбцов

нижний колонтитул

Но теперь я хочу импортировать следующую структуру

заголовок

Строки столбцов

нижний колонтитул

заголовок

Строки столбцов

нижний колонтитул

заголовок

Строки столбцов

нижний колонтитул

заголовок

Строки столбцов

нижний колонтитул

Я также создал файл формата, но это не помогает, поскольку каждый раздел принадлежит отдельной таблице в базе данных SQL.

Я использую SQL 2008 R2.

Пожалуйста, помогите в этом, поскольку я не вижу никакого света.

Комментарии:

1. На вашем месте я бы занимался этим с помощью служб SSIS, а не напрямую с помощью SQL.

2. В этом проблема. Я ограничен использованием только хранимых процедур.

3. Вау, это отстой. Это делает жизнь намного сложнее…

4. Нет, это не так уж плохо. По крайней мере, мы узнаем новый трюк.

5. Отличаются ли форматы данных в каждой группе?

Ответ №1:

Теперь проблема решена.

Я создал хранимую процедуру, которая извлекает все данные в одном столбце, а затем зацикливает их в CTE для разделения данных.

Хранимая процедура несколько огромна, чтобы опубликовать ее здесь, но если кто-то захочет, я могу предоставить образец файла и процедуры.