Я пытаюсь настроить файл .fmt с помощью утилиты bcp. Я успешно смог создать это раньше (используя таблицу, в которую данные экспортируются в качестве входных данных):
bcp cmsDatabase.dbo.Table1 формат nul -T -c -f Table1Format.fmt
9.0
3
1 SQLCHAR 0 12 "\t" 1 Col1_Table1 ""
2 SQLCHAR 0 100 "\t" 2 Col2_Table1 SQL_Latin1_General_CP1_CI_AS
3 SQLCHAR 0 0 "\t" 3 Col3_Table1 SQL_Latin1_General_CP1_CI_AS
Таблица1, из которой он был создан:
Col1_Table1 int (первичный ключ)
Col2_Table1 nvarchar (50)
Col3_Table1 nvar
Теперь я столкнулся с проблемой. У меня есть входной файл .txt / .csv (плоский файл с разделителями) с данными, которые не будут импортированы непосредственно в одну таблицу, он должен входить во многие таблицы (И, один напрямую попадает в строки, другие данные необходимо вводить в столбцы таблицы 2), пример данных входного файла:
"Col1_Table1x" "Col2_Table1x" "Col3_Table1x" "Col1_Table2x, Col1_Table2y, Col1_Table2z"
Обновление:
В приведенном выше файле значения должны входить в:
Col1_Tablex -> Col1_Table1 column of Table1
Col2_Tablex -> Col2_Table1 column of Table1
Col3_Table1x -> Col3_Table1 column of Table1
Table1:
Col1_Table1 Col2_Table1 Col3_Table1
-------------------------------------------
Col1_Table1x Col2_Table1x Col3_Table1x
До сих пор я могу заставить его работать.
Что я пытаюсь выяснить:
"Col1_Table2, Col1_Table2, Col1_Table2, ....." -> несколько записей, которые должны быть помещены в таблицу Table2, заполнение Col_Table2 значениями, разделенными запятыми, и
с Col1_Table1 в качестве внешнего ключа.
Т.е. в Table2 должно быть
Col1_Table1 Col1_Table2
----------------------------------------------
Col1_Table1x Col1_Table2x
Col1_Table1x Col1_Table2y
Col1_Table1x Col1_Table2z
, где Col1_Table2 должен идти как строки в Table2 (и разделены запятыми), а Col1_Table1 является внешним ключом для Table2, поэтому его тоже нужно скопировать.
Есть ли способ создать файл .fmt, который позволит копировать этот тип смешанного ввода?
Дополнительные сведения: Каждый раз, когда мне нужно загрузить таблицы из этого входного файла, я могу обрезать все старые данные и заново заполнить. Любой из столбцов может иметь специальные символы, такие как <, ", и т. Д., Так есть ли способ справиться с этим тоже? </p>