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

Откуда:
Сообщений: 28
в mssql 2012
создал таблицу dbo.q в базе данных base
в таблице только одно поле id (text)

делаю импорт из файла c:\q\q.txt в 100гб

use base
BULK INSERT q FROM 'c:\q\q.txt' WITH  ( ROWTERMINATOR ='\n'  );


получаю ошибку


Сообщение 7119, уровень 16, состояние 1, строка 2
Попытка увеличить объект LOB выше максимально допустимого размера 2147483647 байт.
Сообщение 7399, уровень 16, состояние 1, строка 2
Поставщик OLE DB "BULK" для связанного сервера "(null)" сообщил об ошибке. Поставщик не предоставил данных об ошибке.
Сообщение 7330, уровень 16, состояние 2, строка 2
Не удалось получить строку от поставщика OLE DB "BULK" для связанного сервера "(null)".


что делать?
12 апр 14, 17:54    [15872432]     Ответить | Цитировать Сообщить модератору
 Re: Попытка увеличить объект LOB выше максимально допустимого размера 2147483647 байт.  [new]
buser
Member

Откуда: Санкт-Петербург
Сообщений: 4539
http://technet.microsoft.com/ru-ru/library/gg471497.aspx
12 апр 14, 18:04    [15872454]     Ответить | Цитировать Сообщить модератору
 Re: Попытка увеличить объект LOB выше максимально допустимого размера 2147483647 байт.  [new]
sqlmiha1
Member

Откуда:
Сообщений: 28
buser, создал новую таблицу с полем FILESTREAM (varbinary(max))
ошибка


Сообщение 4864, уровень 16, состояние 3, строка 2
Ошибка преобразования массовой загрузки данных (несоответствие типов или недопустимый символ для указанной кодовой страницы) в строке 1, столбце 1 (FILESTREAM).
Сообщение 7399, уровень 16, состояние 1, строка 2
Поставщик OLE DB "BULK" для связанного сервера "(null)" сообщил об ошибке. Поставщик не предоставил данных об ошибке.
Сообщение 7330, уровень 16, состояние 2, строка 2
Не удалось получить строку от поставщика OLE DB "BULK" для связанного сервера "(null)".
12 апр 14, 18:11    [15872480]     Ответить | Цитировать Сообщить модератору
 Re: Попытка увеличить объект LOB выше максимально допустимого размера 2147483647 байт.  [new]
invm
Member

Откуда: Москва
Сообщений: 9827
sqlmiha1
что делать?
Читать документацию по типу varbinary(max), особо обратить внимание на максимально допустимый размер данных.
12 апр 14, 18:29    [15872503]     Ответить | Цитировать Сообщить модератору
 Re: Попытка увеличить объект LOB выше максимально допустимого размера 2147483647 байт.  [new]
sqlmiha1
Member

Откуда:
Сообщений: 28
invm, какой тип нужен для импорта большого файла, построчно?
12 апр 14, 18:29    [15872504]     Ответить | Цитировать Сообщить модератору
 Re: Попытка увеличить объект LOB выше максимально допустимого размера 2147483647 байт.  [new]
invm
Member

Откуда: Москва
Сообщений: 9827
У вас просто неверно задан rowterminator. Поэтому bulk insert пытается вставить весь файл в одну строку таблицы. Либо в файле есть строка размером более 2 Гб.
12 апр 14, 19:22    [15872591]     Ответить | Цитировать Сообщить модератору
 Re: Попытка увеличить объект LOB выше максимально допустимого размера 2147483647 байт.  [new]
sqlmiha1
Member

Откуда:
Сообщений: 28
invm, а как проверить?
12 апр 14, 20:09    [15872677]     Ответить | Цитировать Сообщить модератору
 Re: Попытка увеличить объект LOB выше максимально допустимого размера 2147483647 байт.  [new]
sqlmiha1
Member

Откуда:
Сообщений: 28
invm, строки больше 100 байт у меня нет, а как проверить rowterminator?
12 апр 14, 20:10    [15872680]     Ответить | Цитировать Сообщить модератору
 Re: Попытка увеличить объект LOB выше максимально допустимого размера 2147483647 байт.  [new]
sqlmiha1
Member

Откуда:
Сообщений: 28
invm,ROWTERMINATOR ='\n' ? на 'ROWTERMINATOR ='\r'' поменять?
12 апр 14, 20:12    [15872686]     Ответить | Цитировать Сообщить модератору
 Re: Попытка увеличить объект LOB выше максимально допустимого размера 2147483647 байт.  [new]
Glory
Member

Откуда:
Сообщений: 104751
sqlmiha1
а как проверить rowterminator?

Просто узнать его ?
12 апр 14, 21:14    [15872795]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить