powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / bulk insert и гигантский файл
14 сообщений из 14, страница 1 из 1
bulk insert и гигантский файл
    #38703966
Диам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте. Пытаюсь закачать в базу файл недействительных паспортов 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
bulk insert и гигантский файл
    #38703980
AnyKey45
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чето было похожее попробуй ROWTERMINATOR = '0x0a'
...
Рейтинг: 0 / 0
bulk insert и гигантский файл
    #38704002
Диам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AnyKey45,
Спасибо. Пошла родимая...
...
Рейтинг: 0 / 0
bulk insert и гигантский файл
    #38704077
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Диам,
Зачем такие типы у полей?
Код: 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
bulk insert и гигантский файл
    #38704105
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему INT? Могут попадаться и буквенные обозначения старых паспортов.
...
Рейтинг: 0 / 0
bulk insert и гигантский файл
    #38704215
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВЗачем такие типы у полей?Серия точно может быть буквенная
...
Рейтинг: 0 / 0
bulk insert и гигантский файл
    #38704315
babona
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Диам,

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

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

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

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

Код: 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
bulk insert и гигантский файл
    #39673572
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
bulk insert и гигантский файл
    #39673575
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
bulk insert и гигантский файл
    #39673718
ArkadyL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо!
TABLOCK в опциях не хватало.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / bulk insert и гигантский файл
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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