Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 BULK INSERT  [new]
А.Бахтеев
Member

Откуда:
Сообщений: 56
Код такой:

BULK INSERT [1]

FROM 'D:\1.txt'
WITH
( CODEPAGE='866',
FORMATFILE = 'd:\1.fmt' )


Файл данных (кодировка DOS):
Один1 Два1 Три1

Один2 Два2 Три2
Один3 Два3 Три3
Один4 Два4 Три4
Один5 Два5 Три5
Один6 Два6 Три6
Один7 Два7 Три7
Один8 Два8 Три8
Один9 Два9 Три9


Файл формата:
8.0

3
1 SQLCHAR 0 7 "\ " 1 Col001 Cyrillic_General_CI_AS
2 SQLCHAR 0 5 "\ " 2 Col002 Cyrillic_General_CI_AS
3 SQLCHAR 0 5 "\ " 3 Col003 Cyrillic_General_CI_AS


Таблица:
Col001	nchar	8

Col002 nchar 8
Col003 nchar 8


При выполнении сообщение:

The command(s) completed successfully.


При этом данных в таблице НЕТ. Не подскажите ли в чем дело?

Заранее благодарен
22 май 03, 08:57    [206055]     Ответить | Цитировать Сообщить модератору
 Re: BULK INSERT  [new]
snake
Member

Откуда: Russia, Penza
Сообщений: 2290
а где ф файле данных разделитель
"\ " 
22 май 03, 09:57    [206127]     Ответить | Цитировать Сообщить модератору
 Re: BULK INSERT  [new]
А.Бахтеев
Member

Откуда:
Сообщений: 56
Как видите разделителей тут нет, или им служит пробел. Поля фиксированной длины. DTS пакет, созданный Wizard'ом работает нормально. Если поставить разделитель | и указать его в файле формата, то результат такой же. Кстати я действительно ошибся с последним разделителем - там "\n\t". Но даже с учетом всех исправлений результат аналогичный.

В любом случае, спасибо
22 май 03, 10:05    [206150]     Ответить | Цитировать Сообщить модератору
 Re: BULK INSERT  [new]
А.Бахтеев
Member

Откуда:
Сообщений: 56
ЛЮДИ, КТО НИБУДЬ, АУ!!!!!!!!!!!!!
22 май 03, 16:18    [206993]     Ответить | Цитировать Сообщить модератору
 Re: BULK INSERT  [new]
burmid
Member

Откуда: Москва
Сообщений: 25
Насколько я понимаю, символ "\" используется для задания в строке СПЕЦИАЛЬНЫХ символов (табуляция, возврат каретки, новая строка и т.д.), а в Вашем случае пробел не специальный символ, так что будьте проще:

8.0

3
1 SQLCHAR 0 7 " " 1 Col001 Cyrillic_General_CI_AS
2 SQLCHAR 0 5 " " 2 Col002 Cyrillic_General_CI_AS
3 SQLCHAR 0 5 "\n" 3 Col003 Cyrillic_General_CI_AS
23 май 03, 09:09    [207552]     Ответить | Цитировать Сообщить модератору
 Re: BULK INSERT  [new]
Glory
Member

Откуда:
Сообщений: 104760
Совсем правильно будет вот так
8.0

3
1 SQLCHAR 0 7 " " 1 Col001 Cyrillic_General_CI_AS
2 SQLCHAR 0 5 " " 2 Col002 Cyrillic_General_CI_AS
3 SQLCHAR 0 5 "\r\n" 3 Col003 Cyrillic_General_CI_AS
23 май 03, 10:01    [207606]     Ответить | Цитировать Сообщить модератору
 Re: BULK INSERT  [new]
ksena
Member

Откуда: Юкрэйн
Сообщений: 856
А можно какую-нить ссылку на информацию про файлы формата?
23 май 03, 14:31    [208269]     Ответить | Цитировать Сообщить модератору
 Re: BULK INSERT  [new]
Glory
Member

Откуда:
Сообщений: 104760
BOL
mk:@MSITStore:D:\Program%20Files\Microsoft%20SQL%20Server\80\Tools\Books\adminsql.chm::/ad_impt_bcp_9yat.htm
23 май 03, 14:55    [208330]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить