Hamza Hussain Ответов: 2

Как я могу вставить данные в SQL server из текстового файла с разделителями, имеющего фиксированные позиции


У меня есть 390 текстовых файлов с разделителями, собранных из разных источников. Я должен их погрузить SQL Server Я не хочу использовать мастер импорта и экспорта. Я хочу создать Массовое Копирование Команды Mechanishm через который данные могут быть вставлены в базу данных.

  1. В каждом файле есть 32 колонки но есть определенные файлы, в которых столбцов меньше из-за недоступности информации.
  2. Данные, собранные из каждого источника, различны с точки зрения Указание Места между данными.
  3. Я искал об этом в интернете. Главная путаница заключается в том, что Указание начальной и конечной позиции из определенной колонки.
  4. Как указать Терминатор поля для столбца. Потому что пространство между колоннами отличается. Я не могу угадать никакой закономерности.
  5. Я хочу создать таблицу, состоящую из следующих столбцов:-
    1. Путь к управляющему файлу
    2. Колонка (1) Исходное Положение
    3. Колонка (1) Конечное Положение
    4. Колонка (2) Исходное положение
    5. Колонка (2) Конечное Положение
    6. Из этой таблицы я хочу создать команду динамического массового копирования, которая может копировать все данные в SQL Server.

Создание этого было бы очень полезно для меня. Я не в состоянии увидеть какой-либо справки для этого на Google.

Пожалуйста, обратитесь ко мне по любой ссылке google или направьте меня, как я могу это сделать. Пожалуйста.



Что я уже пробовал:

BULK INSERT TblTable
FROM 'D:\PD_C1\1.txt'
WITH
(
  FIELDTERMINATOR = '','',
  ROWTERMINATOR = ''\n'',
)

2 Ответов

Рейтинг:
4

AFell2

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

Если это так, то у Всемогущего Google есть решение для вас!
Добро пожаловать в TechBrothersIT: SSIS - как загрузить текстовый файл фиксированной ширины в таблицу SQL Server с помощью пакета SSIS[^]


Hamza Hussain

Большое вам спасибо, сэр.
Я понял это. Именно здесь я и застрял. Ссылка очень полезна.
Теперь у меня есть 390 файлов.
Должен ли я создать сопоставление 390 файлов в пакете SSIS бок о бок или я могу сделать это программно ?
После этого я хочу вызвать этот пакет SSIS в asp.net код

AFell2

Это 390 файлов, все с различными сопоставлениями столбцов? Это означало бы, что вам придется либо создать 390 пакетов SSIS, либо 1 пакет SSIS с 390 конфигурациями. Я бы склонялся к последнему, так как вы всегда можете контейнеризировать конфигурации в файл JSON или xml и вытащить их во время обработки для обработки конфигурации столбца.

Рейтинг:
20

#realJSOP

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