|
filewrite, loop: кто знает, подскажите как...
|
|||
---|---|---|---|
#18+
datawindow возврашает несколько тысяч рэкордов. нужно пройтись по нему сверху вниз и каждую тысячу сохранить в .txt файле. типа: fileopen (file1) FOR l_row = 1 TO dw_1.RowCount() If Mod (l_row, 1000) <> 0 Then filewrite(file1) else fileclose(file1) //открываем новый файл ... fileopen(file2) FOR l_row = l_row to dw_1.RowCount() if mod (l_row, 1000) <> 0 then //пишем в него ещё тысячу... end if NEXT Вижу, код не правильный, на какой бы козе к нему подьехать? Спасибо Туды её в качель... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2005, 20:06 |
|
filewrite, loop: кто знает, подскажите как...
|
|||
---|---|---|---|
#18+
voronkВижу, код не правильный, на какой бы козе к нему подьехать? Спасибо Туды её в качель... Фотку козы - на форум. Можно в качели. Тогда и аборигены подъедут ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2005, 20:29 |
|
filewrite, loop: кто знает, подскажите как...
|
|||
---|---|---|---|
#18+
voronkdatawindow возврашает несколько тысяч рэкордов. нужно пройтись по нему сверху вниз и каждую тысячу сохранить в .txt файле. Туды её в качель... А не проще ли копировать/перемещать записи из DW в другой DW (следующую тысячу) и записывать через метод SaveAsAscii() ? Во всяком случае скорость и отсутствие багов будет гарантированно, а наличие кода минимально. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2005, 22:53 |
|
filewrite, loop: кто знает, подскажите как...
|
|||
---|---|---|---|
#18+
Родина Вас не забудет. gz voronkВижу, код не правильный, на какой бы козе к нему подьехать? Спасибо Туды её в качель... Фотку козы - на форум. Можно в качели. Тогда и аборигены подъедут ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2005, 23:14 |
|
filewrite, loop: кто знает, подскажите как...
|
|||
---|---|---|---|
#18+
Вообшем то я, пока, почти так и зделал: for l_row = 1 to dw_1.Rowcount dw_1.RowsCopy(l_row, l_row, Primary!, dw_2, 1, Primary!) if dw_2.Rowcount() = 1000 then fileopen() filewrite() fileclose() dw_2.Reset() end if next if dw_2.rowcount() > 0 then fileopen() filewrite() fileclose() dw_2.Reset() end if SaveAsAscii не могу потому как в некоторых колонках хотят списифиский формат. Спасибо всё равно. Будем ешё мозговать ASCRUS voronkdatawindow возврашает несколько тысяч рэкордов. нужно пройтись по нему сверху вниз и каждую тысячу сохранить в .txt файле. Туды её в качель... А не проще ли копировать/перемещать записи из DW в другой DW (следующую тысячу) и записывать через метод SaveAsAscii() ? Во всяком случае скорость и отсутствие багов будет гарантированно, а наличие кода минимально. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2005, 23:22 |
|
filewrite, loop: кто знает, подскажите как...
|
|||
---|---|---|---|
#18+
voronkВообшем то я, пока, почти так и зделал: SaveAsAscii не могу потому как в некоторых колонках хотят списифиский формат. А не проще ли этот "списифиский формат" загнать в select и в DW получать поля приведенные к тексту? А уж потом SaveAsAscii или SaveAs Это позволит избавится от проблем настройки Windows на разные локали (ПБ пишет разделитель десятичный в соответствии с локалью). Можно их на лету переключать, но зачем лишняя морока? Так что очень рекомендую. Выигрыш по скорости и простоте реализации несомненный. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2005, 00:45 |
|
filewrite, loop: кто знает, подскажите как...
|
|||
---|---|---|---|
#18+
можно создать еще один ДВ, поставить ему эти специфические форматы, и юзать шаред ДВ, после чего SaveAs... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2005, 14:40 |
|
filewrite, loop: кто знает, подскажите как...
|
|||
---|---|---|---|
#18+
А еще можно (если можно) без PowerBuilder на языке типа PL-SQL ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2005, 17:03 |
|
filewrite, loop: кто знает, подскажите как...
|
|||
---|---|---|---|
#18+
gzА еще можно (если можно) без PowerBuilder на языке типа PL-SQL ну тогда еще через Pro*C или используя OCI библиотеки ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2005, 17:23 |
|
filewrite, loop: кто знает, подскажите как...
|
|||
---|---|---|---|
#18+
о господи.... Вот это наглядный пример когда слишком много datawindow вредно :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2005, 19:55 |
|
filewrite, loop: кто знает, подскажите как...
|
|||
---|---|---|---|
#18+
Спасибо, сила. Я вообшем от качания между двумя dw.ми тоже отказался. написал луп в лупе, т.е. сначала Round(rowcount()/1000, 1), получил количество "страниц" по 1000 каждая плюс, если остался, хвост. Ну а потом первый луп по страницам, второй внутри по рекордам, тока кода больше чем в твоём примере. Сейчас попробуем, спасибо тебе ещё, и всем остальным тоже. White Owlо господи.... Вот это наглядный пример когда слишком много datawindow вредно :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2005, 00:09 |
|
filewrite, loop: кто знает, подскажите как...
|
|||
---|---|---|---|
#18+
White Owlо господи.... Вот это наглядный пример когда слишком много datawindow вредно :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Ну их эти классические алгоритмы :) DW будет сохранять всегда быстрее, кода меньше, а значит и ошибок. А вообще по хорошему - кто мешает эти данные в текстовики средствами СУБД выгрузить ? Вот уж где скорость. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2005, 06:13 |
|
filewrite, loop: кто знает, подскажите как...
|
|||
---|---|---|---|
#18+
White Owl...спасибо всё работает, убрал свой, поставил твой. Ребята, спасибо всем кто поучаствовал. Вопрос снят. Туды её в качель... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2005, 16:44 |
|
filewrite, loop: кто знает, подскажите как...
|
|||
---|---|---|---|
#18+
ASCRUSА вообще по хорошему - кто мешает эти данные в текстовики средствами СУБД выгрузить ? Вот уж где скорость. Ну дык не всегда сервер базы находится на той же машине что и клиент. Велика будет юзеру радость если данные выгрузятся, но в недоступное для него место :) А насчет выгрузки средствами DW - оно конечно всего одна команда... Но во первых, при использованием SaveAs() получишь формат полей по умолчанию (что не всегда совпадает с желаемым форматом). Во вторых, DW иногда имеет поля которые вообще не нужно выгружать. А в третьих, если внутри dw_1.SaveAs() все таки произойдет ошибка - прийдется долго и виртуозно матерится :) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2005, 17:37 |
|
|
Start [/forum/topic.php?fid=15&tid=1338393&gotonew=1]: |
0ms |
get settings: |
0ms |
get forum list: |
9ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
28ms |
get topic data: |
7ms |
get first new msg: |
1ms |
get forum data: |
1ms |
get page messages: |
30ms |
update_topic_read_status (1338393): 21.04.2005 23:25:37: |
0ms |
get tp. blocked users: |
0ms |
get online users: |
19ms |
check new: |
1ms |
others: | 82ms |
total: | 180ms |
0 / 0 |