Потребовалось тут разово загрузить 3 млн строк в mssql.

Казалось бы - что проще? Жмем на имени базы правой кнопкой - задачи - импорт данных, выбираем источник, получатель. Жмем кнопку экспорт и все готово. Дел на минуту, не больше.

Беда в том, что все так хорошо, когда мы говорим про загрузку из текстового файла с разделителями. Но по неясной причине изготовитель файла решил, что раз уж я работаю в эксель - то и данные он мне даст в эксель. И настолько он этой идеей загорелся, что даже три миллиона строк разбил на три листа - не влезло все на один лист. Хорошо хоть не додумался в соседних столбцах блоками разместить (не запоминайте, пожалуйста, эту идею).

В итоге у меня книжка на 500 мегабайт с тремя листами. Конечно mssql притворяется, что он умеет читать данные и из эксель файлов, но для этого вокруг него нужно нехилый такой заводик построить. Сервер БД 64 битный, а дрова ODBC, которые он использует - на 32 бита. И вот эти товарищи не хотят дружить, хоть убейся. Начинается бубен и другие веселые танцы.

Поэтому, как в той задачке про математиков, физиков и чайник пришлось сохранять листы эксельки, как текстовые файлы и уже после этого грузить на сервер.

Почему исполнитель сразу не залил данные в csv - великая загадка. Просить его все переделать - это ждать еще неделю.

Так и развлекаемся. Всем Эксель!

repost

37

input message

напишите коммент

· 10.04

Через Power Query было бы проще разбить это на любое количество блоков и загнать в csv

ответить

еще контент в этом сообществе

еще контент в этом соообществе

войдите, чтобы увидеть

и подписаться на интересных профи

в приложении больше возможностей

пока в веб-версии есть не всё — мы вовсю работаем над ней

сетка — cоциальная сеть для нетворкинга от hh.ru

пересекайтесь с теми, кто повлияет на ваш профессиональный путь