Используйте последние строки для предложения типов в мастере импорта SQL Server 2008 R2 - PullRequest
0 голосов
/ 08 июня 2011

Я использую SQL Server для локального хранения данных для статистического анализа.Я создаю свои таблицы из CSV-файлов, которые обычно имеют сотни столбцов.Указывать имена и типы столбцов вручную было бы утомительно, поэтому я использую «предложить типы» в мастере импорта, чтобы выбрать правильный тип.

Это работает большую часть времени, но часто мои csv-файлы имеют «рваный верхний край» (т. Е. Многие столбцы пусты для первой тысячи или миллионов строк - многие из этих файлов1+ гигабайт, следовательно, потребность в SQL Server для облегчения объединения подмножеств).Поскольку мастер импорта просматривает только первые 1000 строк, это может привести к сбою при импорте.Есть ли хитрый обходной путь?

Решение, о котором я могу подумать, - переместить последнюю тысячу или около того строк в верхнюю часть файла, чуть ниже строки заголовка.Но так как некоторые из этих файлов имеют размер 1+ ГБ и миллионы строк, я не могу сделать это в текстовом редакторе.Есть ли способ, которым я могу перехитрить мастера импорта?Или читать задом наперед?Или переместить последние тысячи строк или около того?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 08 июня 2011

Похоже, вы не можете установить в мастере, но вы можете, если вы делаете это как полное решение служб SSIS. И / или ограничение строки в 1000 является ошибкой в ​​SQL Server 2008 (не уверен насчет R2)

См. это для более

В какой-то момент я сам установил строки с образцами, но не могу вспомнить, когда и какую версию / уровень SP я использовал.

0 голосов
/ 08 июня 2011

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

Я бы увеличил строки заголовка для пропуска на 1000 или около того, а затем уменьшил бы его, чтобы убедиться, что я ничего не пропустилпока я не смогу получить достойный предварительный просмотр данных.Не пробовал это на таком большом файле, но не могу понять, почему он не будет работать на приличной машине.

Если вы хотите что-то менее утомительное, простой пакетный файл или консольное приложение может удалить пробелы из этихфайлы.Просто убедитесь, что он использует правильный подход для чтения текста, чтобы гарантировать, что он читает отдельные строки, вместо того, чтобы пытаться загрузить весь файл в память.

...