Xpoint
   [напомнить пароль]

Закачка больших прайсов

Метки: [без меток]
[удл]
2009-04-06 20:57:37 [обр] Майя(0/2)[досье]

Товарищи, подскажите!

Как правильно теоретически закачивать большие (очень большие) прайсы? То есть например в локальной БД есть каталог товара, порядка 100 тыс. записей. С ценами. Его надо экспортировать куда то, и потом из этого чего-то перекачать на сайт.
То есть задача - закачать прайс человеку, не связанному с программированием и базами данных.
Во что его надо экспортировать? Я так понимаю, что стандартный Ексель не справится с такими объемами.
Как делаются такие вещи?

ЗАранее спасибо за ответы!

спустя 11 часов [обр] Евгений Седов aka KPbIC(5/176)[досье]
Нужны ли все 100 тыс. позиций вашему клиенту? Не лучше ли сделать к прайсу веб-интерфейс?
спустя 5 часов [обр] Майя(0/2)[досье]
что значит веб-интерфейс к прайсу?
прайс у поставщика, ему не нужен веб-сервер
ему надо закачать 1 раз прайс на сайт и жить спокойно
потом по этому прайсу ищет цены клиент
так вот вопрос - как ему дать закачать весь этот прайс?
спустя 22 минуты [обр] Алексей Севрюков(13/1280)[досье]

Майя[досье]

  1. Клиент закачивает Excel-файл заранее определенного формата.
  2. На каком либо языке программирования (Perl, PHP, нужное подчеркнуть) Вы этот файл распарсиваете и помещаете в БД.
  3. К БД прикручиваете веб-интерфейс с поиском.
  4. Наслаждаетесь результатом.

Если есть возможность использовать другие форматы — используйте их, все зависит от типа локальной БД клиента. Если, например, у клиента стоит MySQL то вообще можно делать дампы и прямиков заливать их в базу на сервере, или использовать CSV, если типы баз разные.

спустя 2 часа 48 минут [обр] Евгений Седов aka KPbIC(5/176)[досье]
Если у поставщика есть база данных, то можно попросить предоставить вам доступ на чтение прайс-листа.
спустя 13 часов [обр] Майя(0/2)[досье]
Евгений Седов aka KPbIC[досье] ЭТо же интернет, какой доступ?
спустя 2 минуты [обр] Майя(0/2)[досье]
Алексей Севрюков[досье]
А Ексель потянет такой объем? И закачиваться будет долго
Подойдет ли в данном случае использование xml?
Насколько я знаю, из базы можно легко выгрузить в xml, и потом из него в базу.
спустя 2 часа 1 минуту [обр] Евгений Седов aka KPbIC(5/176)[досье]
ЭТо же интернет, какой доступ?

Раскомментируйте в конфиге мускула строчку skip_networking, ребутните сервер, и netstat -lpt | grep mysqld

В случае Postgres, netstat -lpt | grep postmaster

Такой вот, обычный доступ через интернет.

Админ базы может дать вам логин/пароль, если надо сделает вьюшку, и забудет про вас. Дальше уже сами решайте в каком режиме вы будете вытаскивать оттуда данные.

спустя 7 часов [обр] Алексей Севрюков(13/1280)[досье]
Майя[досье] прислушайтесь к Евгению[досье], если есть прямой доступ к БД — это вообще самый простой вариант.
Про Excel: а почему он не должен тянуть? И потом, это просто моя ассоциация "прайс - Excel", если есть возможность использовать другие форматы, то лучше использовать из. Впрочем, я писал это выше.
спустя 1 час 3 минуты [обр] Дмитрий Кучкин(0/236)[досье]

Алексей Севрюков[досье]

Про Excel: а почему он не должен тянуть

Excel до версии 2007 поддерживает не более 65536 строк

спустя 55 минут [обр] Алексей Севрюков(13/1280)[досье]
Дмитрий Кучкин[досье] прошу прощения, не знал об этом.
спустя 4 часа 50 минут [обр] Майя(0/2)[досье]

оказывается прайс 20000 строк
так что ексель вполне потянет
базы у всех разные, у многих локальные, так что доступ исключен
лучше через Ексель

вопрос такой. Можно ли средствами asp.net данные из Ексель файла переместить прямо в базу MSSQL? Может быть есть примеры, код?

спустя 10 часов [обр] Алексей Полушин(1/231)[досье]
сообщение промодерировано
Знаете, как может выглядеть прайс в ексель закачаный человеков, не связанном с программированием и базами данных ?
Товары могут быть разбиты по группам, друг под другом, перед каждой шапка, в группах разное число колонок - потому что для разных групп указываются разные характеристики. Сможите вы это автоматически разобрать?
спустя 7 минут [обр] Алексей Полушин(1/231)[досье]
Ну вот к примеру образец: http://e-vending.ru/base/price/274.xls
спустя 29 минут [обр] Майя(0/2)[досье]
Алексей Полушин[досье]ну ведь это же все оговаривается заранее. Так что меня интересует чисто техническая сторона вопроса.
Я знаю как закачать из екселя на форму в GridView
Знаю как из GridView закачать в базу
Хотелось бы напрямую, сразу из екселя в базу
Есть примерчики?
спустя 7 часов [обр] Алексей Полушин(1/231)[досье]
Ну если оговаривается заранее, вам уже предложили использоват csv. Из экселя в csv экспротируется легко. В базу загрузить тоже легко.
спустя 2 часа 4 минуты [обр] Евгений Седов aka KPbIC(5/176)[досье]
IMHO, в такой ситуации многое зависит от того, в каких вы отношениях с поставщиками. Если вы яндекс, вы их заставляете YML, а если они вам нужны больше, чем вы им, то вы опускаетесь до парсенья их разношерстных прайсов.
спустя 12 часов [обр] Майя(0/2)[досье]
Всем спасибо.
Примерчиков не дождалась, придумала сама.
Может и не самый рациональный способ, но работает.
Powered by POEM™ Engine Copyright © 2002-2005