Вопросы об экспорте и импорте плоских файлов (txt, csv) в SQL Server 2005 - PullRequest
3 голосов
/ 07 октября 2008
  1. Какой разделитель лучше всего использовать при экспорте данных?
  2. Как лучше всего работать с данными NULL, если в таблице есть поле INT?

Ответы [ 3 ]

3 голосов
/ 07 октября 2008

Я не уверен, что пытается сделать аскер (хорошее имя: JPnoui38f). Sql Server Management Studio имеет возможность сбрасывать ваши данные различными способами. Вам не нужно беспокоиться о том, как обрабатывать нули или какой разделитель использовать. Инструменты позаботятся об этом.

Вот статья о мастере импорта / экспорта . Другой вариант - мастер публикации баз данных , который выводит ваши данные в сценарии sql.

1 голос
/ 07 октября 2008

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

Чтобы сделать это из самого MSSQL, вам нужно включить поддержку xp_cmdshell, что может быть невозможным из-за проблем безопасности. Но если вы хотите сделать это с помощью внешнего инструмента, проблем не должно быть.

Непосредственно отвечая на ваши вопросы:

  1. Лучшим разделителем является символ, который не отображается в ваших данных
  2. Используйте пробел в этих столбцах, любое целое число будет иметь символ или даже нулевой символ

Все это и многое другое - вот почему вы должны использовать готовый инструмент, все сложные решения были продуманы и сделаны уже для вас.

0 голосов
/ 07 октября 2008
  1. Если у вас есть данные со встроенным управляющие символы, которые вы можете захотеть сделать экспорт на основе префикса с помощью BCP вместо текста с разделителями. префикс предваряет столбец с Индикатор длины и импорт читает это, а не ищет разделитель.

  2. Почему-то я не могу понять и не может найти документацию, BCP не будет импортировать нулевые значения в числовые столбцы, даже если они обнуляемый. Вам нужно сделать постановочный стол со всеми варчар столбцы, а затем постобработать данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...