У меня есть текстовый файл (~ 100 000 + строки), где каждый столбец имеет фиксированную длину, и мне нужно поместить его в таблицу базы данных SQL Server.Каждый из наших клиентов обязан получать эти данные, но каждый текстовый файл немного отличается, поэтому мы должны вручную войти и настроить расстояние между символами в хранимой процедуре SQL.
Мне было интересно, есть лиТаким образом, мы можем использовать вместо XML / XSD / XSLT.Таким образом, мне не нужно было бы заходить и вручную редактировать хранимые процедуры.
В настоящее время мы делаем следующее:
1.) SQL server stored procedure reads a text file from the disk
2.) Each record is split into an XML element and dumped into a temporary table
3.) Using SQL Server's string manipulation, each element is parsed
4.) Each column is dumped into
Для пояснения, вот пара примеров ....
Текстовый файл одного клиента будет иметь следующее:
Name [12 Characters]
Employer [20 Characters]
Income [7 Characters]
Year-Qtr [5 Characters]
JIM JONES HOMERS HOUSE OF HOSE100000 20113
Текстовый файл другого клиента будет иметь следующее:
Year-Qtr [5 Characters]
Income [7 Characters]
Name [12 Characters]
Employer [20 Characters]
20113100000 JIM JONES HOMERS HOUSE OF HOSE
В основном все они имеют одинаковые полянекоторые могут иметь на пару больше, на пару меньше, просто в разных порядках.