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

Откуда:
Сообщений: 230
По форуму смотрел, ответа не нашел.

CREATE TABLE #tmp (t VARCHAR(MAX))
BULK INSERT #tmp
FROM 'c:\InetLog\access.log'
with(
FIELDTERMINATOR = '\t',
ROWTERMINATOR = '''+CHAR(10)+'''
)
SELECT * FROM #tmp
DROP TABLE #tmp

В таком исполнении BULK не видит окончания строки.


Образец файла приложен.

Подскажите где не правда

К сообщению приложен файл (access.log - 7Kb) cкачать
12 янв 10, 13:16    [8170658]     Ответить | Цитировать Сообщить модератору
 Re: Опять BULK INSERT  [new]
Miles
Member

Откуда:
Сообщений: 230
Miles
По форуму смотрел, ответа не нашел.

CREATE TABLE #tmp (t VARCHAR(MAX))
BULK INSERT #tmp
FROM 'c:\InetLog\access.log'
with(
FIELDTERMINATOR = '\t',
ROWTERMINATOR = '''+CHAR(10)+'''
)
SELECT * FROM #tmp
DROP TABLE #tmp

В таком исполнении BULK не видит окончания строки.


Образец файла приложен.

Подскажите где не правда


Сам отвечаю:

надо так

FIELDTERMINATOR = '\t',
ROWTERMINATOR = '0x0A'
12 янв 10, 13:21    [8170717]     Ответить | Цитировать Сообщить модератору
 Re: Опять BULK INSERT  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
Miles
Miles
FIELDTERMINATOR = '\t',
ROWTERMINATOR = '''+CHAR(10)+'''

FIELDTERMINATOR = '\t',
ROWTERMINATOR = '0x0A'
Ага, \t знают что такое, а \n или \r не знают.

Кстати по умолчанию стоят:
FIELDTERMINATOR = \t
ROWTERMINATOR = \r\n
12 янв 10, 14:17    [8171165]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить