Экспорт таблиц денежных позиций под ODBC

Страницы: 1
RSS
Экспорт таблиц денежных позиций под ODBC
 
QUIK 6.17.3.6, вывод в базу Mysql 5.1.
Экспорт различных таблиц с лимитами, информация по счетам ДЕПО происходит без проблем.
Но при выводе таблицы денежных позиций возникает проблема: если поле "Расчетная" не включать в Primary Key, то экспорт периодически приостанавливается с ошибкой о дублировании данных, если поле включить - ошибок нет, но и данные не обновляются.
Есть ли смысл постоянно изменяемое значение поля делать ключем в базе?

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

Создайте в папке с программой Quik файл с именем quik_odbc.log
После перезапуска Quik, туда начнется записываться логи ODBC экспорта.
Воспроизведите проблему, после чего пришлите полученный лога нам
 
сложно понять, для чего в условия на обновления добавлена следующая конструкция: AND settl=-2976932.850000 AND marg=0.000000,
попробую на сервере увеличить точность до 6 знаков

09/09/15 15:16:11.490 [TID=3788] After ExistData, table = fbmicex_cur_nsd, ExistNewDataForExport = FALSE SQL statement = "is absent"
09/09/15 15:16:11.490 [TID=3788] Sleep, table = fbmicex_cur_nsd
09/09/15 15:16:11.490 [TID=3788] Wake up, table = fbmicex_cur_nsd
09/09/15 15:16:11.490 [TID=3788] After ExistData, table = fbmicex_cur_nsd, ExistNewDataForExport = FALSE SQL statement = "is absent"
09/09/15 15:16:11.490 [TID=3788] Sleep, table = fbmicex_cur_nsd
09/09/15 15:20:34.423 [TID=2832] Add_new_data, table = fbmicex_cur_nsd,new_seqnumber_to_write = 51301856, write_operation_type = UPD ATE DATA, sql query = UPD ATE quik.fbmicex_cur_nsd SET openbal=0.000000, currbal=4536565.110000, avail=4529085.980000 WHERE firmid='NC0185400000' AND acc='000004000826' AND cur='SUR' AND grp='EQTV' AND caption='НГЦБ' AND settl=4529085.980000 AND marg=0.000000
09/09/15 15:20:34.423 [TID=3788] Wake up, table = fbmicex_cur_nsd
09/09/15 15:20:34.438 [TID=2832] Add_new_data, table = fbmicex_cur_nsd,new_seqnumber_to_write = 51298016, write_operation_type = UPD ATE DATA, sql query = UPD ATE quik.fbmicex_cur_nsd SET openbal=18933.350000, currbal=458933.350000, avail=458933.350000 WHERE firmid='NC0185400000' AND acc='000004000826' AND cur='SUR' AND grp='UTSR' AND caption='Средства - RUB' AND settl=-2976932.850000 AND marg=0.000000
09/09/15 15:20:34.438 [TID=3788] After ExistData, table = fbmicex_cur_nsd, ExistNewDataForExport = TRUE SQL statement = "UPD ATE quik.fbmicex_cur_nsd SET openbal=0.000000, currbal=4536565.110000, avail=4529085.980000 WHERE firmid='NC0185400000' AND acc='000004000826' AND cur='SUR' AND grp='EQTV' AND caption='НГЦБ' AND settl=4529085.980000 AND marg=0.000000"
09/09/15 15:20:34.438 [TID=2832] Add_new_data, table = fbmicex_cur_nsd,new_seqnumber_to_write = 51298592, write_operation_type = UPD ATE DATA, sql query = UPDATE quik.fbmicex_cur_nsd SE T openbal=324830626.420000, currbal=325216303.400000, avail=324711655.510000 WHERE firmid='NC0185400000' AND acc='000004000826' AND cur='SUR' AND grp='UTSL' AND caption='Единый лимит' AND settl=324711655.510000 AND marg=0.000000
09/09/15 15:20:34.438 [TID=3788] Poke Data, table = fbmicex_cur_nsd, henv = 02AD1A70, hdbc = 02AD1B18, insert_into_table = 02AD20C8, update_table = 02AD2800, delete_from_table = 02AD2B48, hstmt = 02AD2800, SQL statement = "UPDATE quik.fbmicex_cur_nsd SE T openbal=0.000000, currbal=4536565.110000, avail=4529085.980000 WHERE firmid='NC0185400000' AND acc='000004000826' AND cur='SUR' AND grp='EQTV' AND caption='НГЦБ' AND settl=4529085.980000 AND marg=0.000000"
09/09/15 15:20:34.438 [TID=3788]
Duration: 0
09/09/15 15:20:34.438 [TID=3788] After ExistData, table = fbmicex_cur_nsd, ExistNewDataForExport = TRUE SQL statement = "UPDATE quik.fbmicex_cur_nsd SE T openbal=18933.350000, currbal=458933.350000, avail=458933.350000 WHERE firmid='NC0185400000' AND acc='000004000826' AND cur='SUR' AND grp='UTSR' AND caption='Средства - RUB' AND settl=-2976932.850000 AND marg=0.000000"
09/09/15 15:20:34.438 [TID=3788] Poke Data, table = fbmicex_cur_nsd, henv = 02AD1A70, hdbc = 02AD1B18, insert_into_table = 02AD20C8, update_table = 02AD2800, delete_from_table = 02AD2B48, hstmt = 02AD2800, SQL statement = "UPDATE quik.fbmicex_cur_nsd SE T openbal=18933.350000, currbal=458933.350000, avail=458933.350000 WHERE firmid='NC0185400000' AND acc='000004000826' AND cur='SUR' AND grp='UTSR' AND caption='Средства - RUB' AND settl=-2976932.850000 AND marg=0.000000"
09/09/15 15:20:34.438 [TID=3788]
Duration: 0
09/09/15 15:20:34.438 [TID=3788] After ExistData, table = fbmicex_cur_nsd, ExistNewDataForExport = TRUE SQL statement = "UPDATE quik.fbmicex_cur_nsd SE T openbal=324830626.420000, currbal=325216303.400000, avail=324711655.510000 WHERE firmid='NC0185400000' AND acc='000004000826' AND cur='SUR' AND grp='UTSL' AND caption='Единый лимит' AND settl=324711655.510000 AND marg=0.000000"
09/09/15 15:20:34.438 [TID=3788] Poke Data, table = fbmicex_cur_nsd, henv = 02AD1A70, hdbc = 02AD1B18, insert_into_table = 02AD20C8, update_table = 02AD2800, delete_from_table = 02AD2B48, hstmt = 02AD2800, SQL statement = "UPDATE quik.fbmicex_cur_nsd SE T openbal=324830626.420000, currbal=325216303.400000, avail=324711655.510000 WHERE firmid='NC0185400000' AND acc='000004000826' AND cur='SUR' AND grp='UTSL' AND caption='Единый лимит' AND settl=324711655.510000 AND marg=0.000000"
09/09/15 15:20:34.438 [TID=3788]
Duration: 0
09/09/15 15:20:34.438 [TID=3788] After ExistData, table = fbmicex_cur_nsd, ExistNewDataForExport = FALSE SQL statement = "is absent"
09/09/15 15:20:34.438 [TID=3788] Sleep, table = fbmicex_cur_nsd
 
Сорри, переотправлю на support@quik.ru
Страницы: 1
Читают тему
Наверх