Вопрос по DTS: импорт CSV файла в MS SQL
dtsvopros
Дата: 12.09.2006 14:20:49
Дорого дня всем!
Вот пытаюсь закачать файл с помощью DTS визарда (потом его надо будет оформить, как джоб), но вылазят проблемы с форматом данных. Делаю так:
1. указываю драйвер "текстовый файл"
2. столбцы разграничены ";", сиквел все столбцы различает правильно
3. при указании приемника, задаю "таблицу уничтожить и создать по новой"
4. меняю тип полей таблицы с varchar на nvarchar, bit, int, decimal
5 Вытаюсь делать импорт - лезут ошибки конвертации (DBTYPE_STR -> DBTYPE_NUMERIC)
пример файла:
type_full t height_ful
6280 0 0
6280 0 0
6280 0 0
0 0
KARTON K 0 0
KARTON K 0 0
строковые значения никак не выделяются...
Подскажите, плиз, куда копать... Спасибо!
RENaissance
Дата: 12.09.2006 14:23:49
Странный у Вас файл с данными. В одной колонке цифры, строки...
Posted via ActualForum NNTP Server 1.3
GreenSunrise
Дата: 12.09.2006 14:30:42
dtsvopros |
2. столбцы разграничены ";" |
dtsvopros |
пример файла: type_full t height_ful 6280 0 0 6280 0 0 6280 0 0 0 0 KARTON K 0 0 KARTON K 0 0
строковые значения никак не выделяются... Подскажите, плиз, куда копать... Спасибо! |
А в примере они у вас пробелами или табами разделены. К тому же в одной строке вообще отсутствует первый столбец.
dtsvopros
Дата: 12.09.2006 14:32:30
RENaissance |
Странный у Вас файл с данными. В одной колонке цифры, строки... Posted via ActualForum NNTP Server 1.3 |
да, есть колонки, где и цифры и строки. Такую колонку надо понимать, как строковую. Я думал, что достаточно явно указать тип в таблице приемнике, но сервер возбуждает ошибку коныертации... я не знаю, как лучше показать файл с данными в окне форума (чтобы явно были видны столбцы и строки)
dtsvopros
Дата: 12.09.2006 14:41:09
[quot GreenSunriseА в примере они у вас пробелами или табами разделены. К тому же в одной строке вообще отсутствует первый столбец.[/quot]
ой, му**к я, простите... я из excel скопировал в первый раз...
вот так выглядит:
supp_;type_full ;t;height_ful;width_full;depth_full;
DE ;006280 ;0; 0,000 ; 0,000 ; 0,000 ;
DE ;006280 ;0; 0,000 ; 0,000 ; 0,000 ;
DE ;006280 ;0; 0,000 ; 0,000 ; 0,000 ;
DE ; ; ; 0,000 ; 0,000 ; 0,000 ;
DE ; ; ; 0,000 ; 0,000 ; 0,000 ;
DE ;KARTON K ;0; 0,000 ; 0,000 ; 0,000 ;
DE ;KARTON K ;0; 0,000 ; 0,000 ; 0,000 ;
GreenSunrise
Дата: 12.09.2006 14:50:09
Когда визардом импортите этот файл, посмотрите, какой тип он выбирает для того столбца, где и числа, и строки (это кнопка "..." в поле Transform). Я предполагаю, что для этого столбца он будет числовой, а не строковый, потому что DTS, скорее всего, тип определяет по первой строчке. У вас первая как раз числа содержит, а строки потом уже появляются.
Если это так, то решением проблемы будет указание правильного типа столбца при импорте.
dtsvopros
Дата: 12.09.2006 14:57:12
GreenSunrise |
Когда визардом импортите этот файл, посмотрите, какой тип он выбирает для того столбца, где и числа, и строки (это кнопка "..." в поле Transform). Я предполагаю, что для этого столбца он будет числовой, а не строковый, потому что DTS, скорее всего, тип определяет по первой строчке. У вас первая как раз числа содержит, а строки потом уже появляются.
Если это так, то решением проблемы будет указание правильного типа столбца при импорте. |
к сожалению визард автоматом выбирает для всех столбцов тип varchar (255), что меня естественно не устраивает. Можно, коненчно, конвертить все потом в хранимке, но это время... хотелось бы, чтоб sql понимал типы сразу правильно (как при импорте из Excel или Access). возможно такое?
К сожалению, поставщик информации может експортить ее только в txt или сsv формат...
GreenSunrise
Дата: 12.09.2006 15:01:26
Ну так в том же трансформе и укажите нужные типы.
dtsvopros
Дата: 12.09.2006 15:23:40
ну так я ж так и сделал... и вот имею ошибку конвертации...
еще раз попорядку:
1. указываю драйвер "текстовый файл"
2. столбцы разграничены ";", сиквел все столбцы различает правильно
3. при указании приемника, задаю "таблицу уничтожить и создать по новой"
4. меняю тип полей таблицы в Transformation с varchar на nvarchar, bit, int, decimal
5 Вытаюсь делать импорт - лезут ошибки конвертации (DBTYPE_STR -> DBTYPE_NUMERIC)
да, что еще заметил... некоторые столбцы содержат после импорта (если импортировать все, как varchar(255)) лишние пробелы, причем, как числовые столбцы, так и текстовые...
RENaissance
Дата: 12.09.2006 15:32:02
У Вас и во втором поле смешаны числа и символы.
З.Ы Еще раз обратите внимание на
это.
Posted via ActualForum NNTP Server 1.3