|
0 / 0 / 0
Регистрация: 21.12.2009
Сообщений: 60
|
|
CSV => ASP => SQL05.01.2010, 00:01. Показов 1905. Ответов 14
Метки нет (Все метки)
Задали мне задачку, думаю как решить...
Есть каталог товаров. Из этого каталога создается csv файл и отправляется производителю. Производитель вносит необходимые изменения и присылает (uploadид) файл обратно! Потом надо пройтись по всему файлу, сравнить его с базой, указать сколько записей стерто, сколько изменено и т.д. А потом, если нажата ОК, то изменять/удалять записи... Итак вопрос: как это сделать?! Можно ли использовать Store Procedure для сравнения данных? Как превратить строку в запись в рекордсете? И вообще, как можно обрабатывать данные, пришедшие с CSV файла в виде рекордсета... Может какие-то идеи, которых я не знаю?
0
|
|
| 05.01.2010, 00:01 | |
|
Ответы с готовыми решениями:
14
Приложение на ASP+ MS SQL Servel 2000 и хостинг с подержкой ASP+ MS sql server 7.0 ASP+SQL Server 2000 - файлы с расширением .asp вообще не запускается СПб прораммист ASP, ASP.net, C#, VB, MS SQL $ 1000 |
|
Ghost
|
|
| 05.01.2010, 00:05 | |
|
на затравку - перекинуть из CSV данные во временную таблицу. После этого можно хоть SP_ юзать хоть RecordSet открывать.
|
|
|
0 / 0 / 0
Регистрация: 21.12.2009
Сообщений: 60
|
|
| 05.01.2010, 00:09 [ТС] | |
|
ОК
как их перекинуть во временную таблицу? если у меня, скажем, каталог из 10000 записей? ну хорошо.... 3000 для начала....
0
|
|
|
Ghost
|
|
| 05.01.2010, 00:11 | |
|
Я тута - давай решать на ходу.
100 000 записей? По твоему это много? 6000 записей я импортирую в SQL менее чем за 1 минуту. |
|
|
Ghost
|
|
| 05.01.2010, 00:14 | |
|
Как перекинуть во временную таблицу - хоть 1, хоть 100, хоть 1000 000 - все просто.
1. Создаем временную таблицу с стребуемой структурой 2. Открываем на ней RecordSet, открываем файл 3. Проходим по файлу, считывая строки и парся из. Результаты парсинга заносим в соответствующие поля Recordset (AddNew/Update). Переходим на следующую строку. 4. Закрываем файл. |
|
|
0 / 0 / 0
Регистрация: 21.12.2009
Сообщений: 60
|
|
| 05.01.2010, 00:16 [ТС] | |
|
Ну вообще у меня тут разные произодители с разным кол-вом записей!
есть от 500 до 8000 мне нужно не только экспортировать! Мне сначала сравнить надо, а уже потом переносить! Итак на сейчас главные для меня вопросы: как быстро превратить CSV в таблицу как сравнить таблицу с данными SQL Спасибо!
0
|
|
|
0 / 0 / 0
Регистрация: 21.12.2009
Сообщений: 60
|
|
| 05.01.2010, 00:18 [ТС] | |
|
т.е. без пробегания по файлу не обойдешься?!
еще вопрос: могу я сделать таблицу в SQL со всеми возможными полями и при работе скрипта заносить туда все? Т.е. использовать ее как временную? Ну чтобы не создавать/удалять таблицу? ускорит это работу?
0
|
|
|
Ghost
|
|
| 05.01.2010, 00:21 | |
|
На 1-ый вопрос ответ дан выше - код писать не буду - с жабой Вы знакомы - так что написать сможете )))
На второй вопрос - можно поставить свои идентиикаторы для записей, а потом сравнивать с ними. Если каждый раз высылается полная копия таблицы - то не вижу никаких проблем, если частичная - придется вести историю рассылаемых данных. Все записи без Ваших идентификаторов считаются новыми. Можно придумать и более простой (но менее надежный) вариант - например - если есть имя - то производить сравнения по именам. Вы с SQL знакомы? ) |
|
|
Ghost
|
|
| 05.01.2010, 00:24 | |
|
т.е. без пробегания по файлу не обойдешься?!
-- 'Я за вас свою работу делать не буду' - ну должен же кто-нибудь прочесть эти данные? ) еще вопрос: могу я сделать таблицу в SQL со всеми возможными полями и при работе скрипта заносить туда все? -- а я о чем? Т.е. использовать ее как временную? -- Да ради бога - только DROP её потом или DELETE FROM [TABLENAME] Ну чтобы не создавать/удалять таблицу? ускорит это работу? -- Вряд ли. Это копейки. А делать её #TABLE, ##TABLE или просто TABLE - это уже по сути вопрос стиля. Я бы сделал локальную временную - не помню уже - сколько там решеток вначале надо. |
|
|
0 / 0 / 0
Регистрация: 21.12.2009
Сообщений: 60
|
|
| 05.01.2010, 00:25 [ТС] | |
|
Нет, меня простые но ненадежные варианты в данном случае не интересуют
![]() ![]() ![]() ![]() Да вся беда в том и заключается, что csv создается все время с разным кол-вом полей. Т.е. производитель сам решает, какие поля он хочет в нем видеть!... Потом их обновляет и присылает обратно! Так что частичная копия таблицы... Что значит 'история рассылаемых данных'?
0
|
|
|
Ghost
|
|
| 05.01.2010, 00:28 | |
|
Это значит, что придется запоминать, что когда кому отсылал, если рассылка по разным производителям - частичная.
По поводу решает - какие поля хочет видеть - а что - договориться с ним никак? Устаканить протокол обмена данными? ) |
|
|
Ghost
|
|
| 05.01.2010, 00:34 | |
|
Все - будь - остальные вопросы утром.
|
|
|
0 / 0 / 0
Регистрация: 21.12.2009
Сообщений: 60
|
|
| 05.01.2010, 00:34 [ТС] | |
|
Не договориться никак!
Их много... слишком много! а я один ![]() Отсылается им полный их каталог! т.е. товаров полный список. Вот полей может быть каждый раз разное кол-во... Так что я не знаю, как эти запоминания делать.... Очень уж не хочется каждуй запись, а в ней каждое поле сравнивать с базой
0
|
|
|
Ghost
|
|
| 05.01.2010, 08:58 | |
|
>>Отсылается им полный их каталог! т.е. товаров полный список. Вот полей может быть каждый раз разное кол-во...
Так что я не знаю, как эти запоминания делать.... Очень уж не хочется каждуй запись, а в ней каждое поле сравнивать с базой ![]() Если они не трогают структуру, то поставь свое поле кода перед товарами. Вообще нельзя решить задачу без граничных условий - исходи из этого. |
|
|
0 / 0 / 1
Регистрация: 30.07.2007
Сообщений: 257
|
|
| 12.01.2010, 20:26 | |
|
Делал давно правда такую чачу вместо ЦСВ Excell был
Шаги такие 1.(ASP) Файл аплоадим 2.(ASP) Переносим его в отдельную директорию под определенным именем 3.(ASP) Запускаем DTS package который импортировал экселлист в отдельную таблицу. (Пакадж предварительно настроен на структуру Ехселл документа) 4. (TSQL) Сравнивал таблицы @Боевую@ и @Временную@ (все на TSQL) вносил необходимые изменения 5. (TSQL)Временную таблицу чистил 6. (ASP) Смотрел не зааплоадил ли кто еще чего за время работы скрипта 7. (ASP) если да го пункт 2
0
|
|
| 12.01.2010, 20:26 | |
|
Помогаю со студенческими работами здесь
15
Возможно ль переколбасить код ASP (ACCESS) в ASP (MS SQL)? CSV в SQL CSV в SQL Преобразование CSV в MS SQL Server Преобразовать SQL в XML или CSV Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
|
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|