Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / bulk insert и гигантский файл / 14 сообщений из 14, страница 1 из 1
23.07.2014, 14:50
    #38703966
Диам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bulk insert и гигантский файл
Здравствуйте. Пытаюсь закачать в базу файл недействительных паспортов list_of_expired_passports.csv
Файл весит 1 гигабайт и содержит порядка 80 млн записей в формате :
PASSP_SERIESPASSP_NUMBER46048341584604834161600157694765047833995001642269600542393

Пытаюсь его залить в таблицу
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
CREATE TABLE [dbo].[_PasspND](
	[Ser] [nvarchar](20) NOT NULL,
	[Nom] [nvarchar](20) NOT NULL,
 CONSTRAINT [PK__PasspND] PRIMARY KEY CLUSTERED 
(
	[Ser] ASC,
	[Nom] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]



через команду:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
TRUNCATE TABLE _PasspND

BULK INSERT _PasspND
   FROM 'Путь\list_of_expired_passports.csv'
   --FROM 'Путь\_tst.csv'
   WITH
      (
         FIELDTERMINATOR =','
         ,ROWTERMINATOR = '\n' --'\n',
         ,FIRSTROW = 2
         --,BATCHSIZE = 1000
         , ROWS_PER_BATCH = 80000000
      )



Но получаю ошибку:
Сообщение 4866, уровень 16, состояние 8, строка 4
Массовая загрузка не удалась. Слишком длинный столбец в файле данных в строке 1, столбце 2. Убедитесь, что признак конца поля и конца строки были указаны правильно.
Сообщение 7301, уровень 16, состояние 2, строка 4
Не удалось получить требуемый интерфейс ("IID_IColumnsInfo") от поставщика OLE DB "BULK" для связанного сервера "(null)".


Если же этой же командой пытаюсь залить маленький файл - _tst.csv, то все проходит на ура.
Пытался выставить свойства BATCHSIZE - не спасает.
Что делать?
...
Рейтинг: 0 / 0
23.07.2014, 14:56
    #38703980
AnyKey45
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bulk insert и гигантский файл
чето было похожее попробуй ROWTERMINATOR = '0x0a'
...
Рейтинг: 0 / 0
23.07.2014, 15:15
    #38704002
Диам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bulk insert и гигантский файл
AnyKey45,
Спасибо. Пошла родимая...
...
Рейтинг: 0 / 0
23.07.2014, 16:12
    #38704077
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bulk insert и гигантский файл
Диам,
Зачем такие типы у полей?
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
CREATE TABLE [dbo].[_PasspND](
	[Ser] [color=red]smallint[/color] NOT NULL,
	[Nom] [color=red]int[/color] NOT NULL,
 CONSTRAINT [PK__PasspND] PRIMARY KEY CLUSTERED 
(
	[Ser] ASC,
	[Nom] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]


Чем меньше размер таблицы, тем быстрее запросы!
...
Рейтинг: 0 / 0
23.07.2014, 16:26
    #38704105
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bulk insert и гигантский файл
Почему INT? Могут попадаться и буквенные обозначения старых паспортов.
...
Рейтинг: 0 / 0
23.07.2014, 18:07
    #38704215
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bulk insert и гигантский файл
ЕвгенийВЗачем такие типы у полей?Серия точно может быть буквенная
...
Рейтинг: 0 / 0
23.07.2014, 20:54
    #38704315
babona
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bulk insert и гигантский файл
Диам,

за вами уже выехали братки
...
Рейтинг: 0 / 0
23.07.2014, 22:55
    #38704370
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bulk insert и гигантский файл
alexeyvgЕвгенийВЗачем такие типы у полей?Серия точно может быть буквенная
Точно Алексей! У меня была X-РЖ!
Но! Таблица соответствия/формула для старых, думаю позволит уложить старые+новые в диапазон -32767...32768. Два байта лучше чем 8 или 4 на таких объемах....
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
12.07.2018, 14:10
    #39673153
ArkadyL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bulk insert и гигантский файл
Здравствуйте!

Подскажите, пожалуйста, до какого размера может вырасти Log при таком импорте? Последний файл этого рода 1,3Гб. Log вырос до 30Гб и место на диске заканчивается. При любой модели восстановления имеющегося сейчас у нас места не хватает, хотелось бы узнать, сколько просить у администратора.
...
Рейтинг: 0 / 0
12.07.2018, 19:03
    #39673319
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bulk insert и гигантский файл
ArkadyLЗдравствуйте!

Подскажите, пожалуйста, до какого размера может вырасти Log при таком импорте? Последний файл этого рода 1,3Гб. Log вырос до 30Гб и место на диске заканчивается. При любой модели восстановления имеющегося сейчас у нас места не хватает, хотелось бы узнать, сколько просить у администратора.

Ваще то, при православном BULK INSERT log расти не должен.
...
Рейтинг: 0 / 0
13.07.2018, 10:57
    #39673571
ArkadyL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bulk insert и гигантский файл
У меня растёт как на дрожжах.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
BULK INSERT dbo.Passports
   FROM '......list_of_expired_passports.csv'
   --FROM 'Путь\_tst.csv'
   WITH
      (
         FIELDTERMINATOR =','
         ,ROWTERMINATOR = '0x0a' 
         ,FIRSTROW = 2
         ,ROWS_PER_BATCH = 80000000
         ,MAXERRORS = 1000000
         ,ERRORFILE ='........PassportError.txt'
      )



Вроде, здесь обсуждалось, что он не может не расти, только это зависит от модели восстановления данных.
Может, он у меня атеист.
...
Рейтинг: 0 / 0
13.07.2018, 11:01
    #39673572
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bulk insert и гигантский файл
...
Рейтинг: 0 / 0
13.07.2018, 11:03
    #39673575
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bulk insert и гигантский файл
...
Рейтинг: 0 / 0
13.07.2018, 13:52
    #39673718
ArkadyL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bulk insert и гигантский файл
Спасибо!
TABLOCK в опциях не хватало.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / bulk insert и гигантский файл / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]