2009-12-28 2 views
1

Мне нужно разобрать плоский файл, который содержит разделитель символов в обратном пространстве (^ H) между полями. Мне нужно проанализировать этот файл и вставить в sql server 2005 tables.I попытался использовать утилиту bcp вместе с файлом формата, но я не смог указать разделитель как backspace. По умолчанию используется вкладка (\ t). Существует также несколько других разделителей, но ни один из них не указывает на обратное пространство. У кого-нибудь есть идеи, пожалуйста, помогите мне.bcp и backspace (^ H) delimiter

Также мне нужно экспортировать данные из таблицы sql-сервера в файл с фиксированной длиной. Я попытался использовать файл формата не-xml, но всегда он запрашивает разделитель. Как я могу создать плоский файл с использованием bcp без какого-либо разделителя между полями? Все вышеперечисленные файлы символов.

+0

Почему он использует обратные пространства как полевые разделители? –

+0

Дело в том, что файл, который подается в нашу систему, фактически происходит из устаревшего приложения, которое отправляет плоские файлы с обратным пространством в качестве разделителей полей. Нам нужно проанализировать эти файлы и сохранить данные в наших таблицах сервера sql. – Thunderhashy

+0

Хорошо, я решил первую часть об экспорте фиксированной длины плоского файла с помощью утилиты экспорта bcp. Но я все еще жду идей о том, как разбирать файлы с ограниченным пространством с использованием средства импорта bcp. Я могу использовать только файлы формата, отличные от xml. Любые идеи приветствуются. – Thunderhashy

ответ

0

Это уродливое обходное решение, но вы всегда можете найти что-то, чего нет в плоском файле, и заменить его в плоском файле, а затем использовать в качестве терминатора столбца (используя bcp -t that).

+0

Для этого требуется еще один шаг предварительной обработки. Что-нибудь лучше? – Thunderhashy

+0

Желаю. Я жду ответа на аналогичный вопрос, который я опубликовал, что я не понял, может быть, примерно такой же вопрос, как и ваш. – Kev

+0

Можете ли вы выслать мне ссылку на этот вопрос? Мне было интересно, можем ли мы как-то указать символы ascii как разделители в опции bcp -t. Но не смог найти способ сделать это. – Thunderhashy