|
|
|
Функция обратного вызова
|
|||
|---|---|---|---|
|
#18+
Суть в следующем. Есть программа на VB для работы с БД, а именно импортирование записей. Записи приходят в виде XML пакетов, при этом записей может быть много. В общем в пакете описывается, какие записи добавлять, какие модифицировать (отдельно по полям), а какие удалять. Все это хозяйство работает с помощью ADO и MSXML и обернуто в одну транзакцию. Но возникла проблема, во-первых долго работает, если записей большое кол-во (даже при 1000), а иногда вообще не может импортировать, т.к. ругается драйвер, хотя раньше все нормально проходило. Так вот вопрос, можно всю эту загрузку вынести в dll на C++ в отдельный поток, а в VB зарегистрировать функцию обратного вызова, например IsProgress (для вывода строки прогресса и какой-либо инф.) и OperationComplete (завершение операции) P.S. Может кто знает, где раскопать инфу по этому вопросу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2006, 10:17 |
|
||
|
Функция обратного вызова
|
|||
|---|---|---|---|
|
#18+
*> иногда вообще не может импортировать, *> т.к. ругается драйвер, хотя раньше все нормально проходило. С этой фигней вроде как справился, оказалось проблема в политиках. Почему-то пользователь со своими правами не мог импортировать данные 8(, хотя раньше это у него все проходило. Пришлось под админом зайти, там все отработало как надо, но долго где-то 6 мин все это делалось, охота быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2006, 13:51 |
|
||
|
Функция обратного вызова
|
|||
|---|---|---|---|
|
#18+
Pr0teusно долго где-то 6 мин все это делалось, охота быстрее. MSXML (сам парсер) - штука вообще говоря *медленная* Возможно, вам стоит поискать другой парсер либо вообще изменить подход к импорту в БД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2006, 13:59 |
|
||
|
Функция обратного вызова
|
|||
|---|---|---|---|
|
#18+
По поводу парсера скорее да, тормозной он, да и память кушает 8) Просто, когда это все делал нужно было реализовать некую секционность данных, просто импортируются не целые записи, а только те поля, которые были измены, это нужно для синхронизации, а в голове только XML и был, вот его и применил. ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2006, 00:10 |
|
||
|
Функция обратного вызова
|
|||
|---|---|---|---|
|
#18+
*> иногда вообще не может импортировать, *> т.к. ругается драйвер, хотя раньше все нормально проходило. Нашел причину, оказалось все дело в локали пользователя, а именно в знаке разделяющим целую и дробную часть числа. Вместо точки стояла злобная запятая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2006, 09:05 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=33881328&tid=2165518]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
163ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 210ms |
| total: | 480ms |

| 0 / 0 |
