Имя: Пароль:
1C
1C 7.7
v7: Работа с MySQL
,
0 Медведик
 
11.08.11
08:30
Доброго времени суток.

Возникла задача очень быстро закачивать прайс из 1С7.7 в базу MySQL. Варианты взаимодействия через v7mysql.dll и odbc необходимой скорости не дают, поскольку позволяют в одном запросе выполнять только одну операцию вставки/обновления.

Подскажите, если ли еще инструментарий прямого взаимодействия с базой MySQL, который позволит передавать из 1С пакетный запрос? Или остается только вариант с загрузчиком из файла для на сайте?
1 vde69
 
11.08.11
08:32
если мускуль не ниже 5 версии

ODBC - создаешь ХП
В нее передаешь массив
Удаляешь ХП
2 Медведик
 
11.08.11
08:36
(1) Условие на "не ниже 5" выполняется. Под ХП подразумевается Хранимая Процедура, я правильно понял?
Спасибо, попробую
3 smaharbA
 
11.08.11
08:39
"insert into ...;insert into ...;insert into...;"
4 vde69
 
11.08.11
08:41
(3) а если запись уже есть?

года 4 назад мучался с сабжем, мне помогла только ХП
5 Медведик
 
11.08.11
08:43
(3) О если бы... Более одного insert в запросе приводят к невыполнению запроса.
6 trad
 
11.08.11
08:49
LOAD DATA INFILE
7 cabat
 
11.08.11
09:09
(6) +1
в свое время именно так на порядки ускорилась загрузка остатков в кассы
8 Fragster
 
гуру
11.08.11
09:11
(0) insert into table (id,name) values (1,'a'),(2,'b'),(3,c)...
9 Fragster
 
гуру
11.08.11
09:12
insert ... on duplicete key update ...

автору советую перед голословными заявлениями читать мануалы
10 Медведик
 
11.08.11
09:19
(6),(7) Чтобы не заморачиваться с обновлением, очищать таблицу и потом загружать целиком, так?
(8),(9) Посыпаю голову пеплом, спасибо за подсказку, попробую.
11 vde69
 
11.08.11
09:35
(10) то есть если нужно записать 1000 новых записей ты будещь очищать 1000000 записей и грузить все по новой?

ХП хороша тем, что ее оптимизировать можно и при этом сам код обмена не меняется :) можно даже заплатить стороннему спецу и он ее сделатет куда оптимальнее нас всех :)
12 Fragster
 
гуру
11.08.11
09:36
(11) хп хороша, когда есть права на ее создание ;)
13 vde69
 
11.08.11
09:36
(12) или когда нет прав к таблицам
14 Медведик
 
11.08.11
09:52
(11) В моем случае массовая запись новых строк будет только при первоначальной загрузке, потом - массовые обновления (цены, остатки).
Хотя... Fragster в (8), похоже, решил все мои проблемы ))
Еще раз спасибо
15 smaharbA
 
11.08.11
12:20
есть еще вариант открыть не как запрос а как таблицу и через адднью и инсерт рекорд загонять
16 Медведик
 
11.08.11
12:34
(15) Речь о взаимодействии через odbc? Намек на метод дайте пожалуйста
17 smaharbA
 
11.08.11
13:20
(16) тогда использовать не АДО, а ДАО
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс