Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.02.06;
Скачать: [xml.tar.bz2];

Вниз

Скорость экспорта данных   Найти похожие ветки 

 
_1008_   (2004-12-29 16:50) [0]

Есть база, в базе записи.
Три таблицы:
Табл1, Табл2, Табл3.
Табл1 и Табл2 связаны связью один ко многим
Табл1 и Табл3 связаны связью один к одному.

Всё что мне необходимо это:
1. Поместить в MS Word "управляющие строки" (некие записи поясняющие к чему относятся данные, которые берутся из таблицы);
2. поместить в MS Word данные из Табл1;
3. ещё "управляющие строки";
4. поместить в MS Word данные из Табл2, которые связаны с данными из Табл1.
5. ещё "управляющие строки";
6. поместить в MS Word данные из Табл3, которые связаны с данными из Табл1.

Не знаю в чём проблема вот и обратился сюда.


 
Max Zyuzin ©   (2004-12-29 16:54) [1]

>_1008_   (29.12.04 16:50)
Гм... Не знаю в чём проблема мы в общем тоже смутно догадываемся в чем у тебя проблема...


 
_1008_   (2004-12-29 17:06) [2]

Max Zyuzin ©  (29.12.04 16:54) [1]

Логично. Но может у кого-нибудь есть идеи, которые натолкнут на правильное решение.


 
Sergey13 ©   (2004-12-29 17:09) [3]

Спросить у препода.


 
Соловьев ©   (2004-12-29 17:16) [4]

телепаты уехали праздновать новый год.
хотя может поможет?
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=502


 
_1008_   (2004-12-29 17:20) [5]

Соловьев ©  (29.12.04 17:16) [4]

Спасибо, но не поможет.

Это экспорт блоб полей. Для обращения использую:
IBDataBase
IBTransaction
IBQuery

Последних несколько:
на таблицу 1
на таблицу 2
на таблицу 3


 
Fay ©   (2004-12-29 18:43) [6]

2 _1008_   (29.12.04 17:20) [5]
> Это экспорт блоб полей. Для обращения использую:
> IBDataBase
> IBTransaction
> IBQuery
>
> Последних несколько:
> на таблицу 1
> на таблицу 2
> на таблицу 3

Не возражаю. Проблема снята?


 
_1008_   (2004-12-30 09:47) [7]

Fay ©  (29.12.04 18:43) [6]

Нет, не снята. А продолжает здравствовать и крайне раздражать.

Понимаю, что что-то надо поменять, но не понимаю, что именно.
Подозреваю, что дело либо в базе, либо в том как я к ней обращаюсь. Но никаких идей нет.


 
Danilka ©   (2004-12-30 09:50) [8]

[7] _1008_   (30.12.04 09:47)
А в чем именно проблема, если не секрет? :)


 
_1008_   (2004-12-30 10:10) [9]

Danilka ©  (30.12.04 09:50) [8]

Да так мелочи: формирование документа длиться всего-то полчаса.
Задача поместить из базы набор текста из блобов.


 
_1008_   (2004-12-30 10:10) [10]

Danilka ©  (30.12.04 09:50) [8]

Да так мелочи: формирование документа длиться всего-то полчаса.
Задача поместить из базы набор текста из блобов. На 20-30 записях это длится 2-3 минуты, на 126 полчаса.


 
Danilka ©   (2004-12-30 10:36) [11]

[10] _1008_   (30.12.04 10:10)
Те-же данные выбрать на клиента, сколько времени занимает? Например, просто все скинуть в текстовый файл.
Если быстро - значит дело в ворде, тогда, как вариатн, самому создавать напрямую rtf-файл, без ОЛЕ, наверняка есть и компоненты бесплатные для этого, да и формат rtf не такой уж и сложный.
Если также долго - значит дело в запосах, которыми данные вытаскиваешь и/или в самой базе (индексов где не хватает, например).


 
Max Zyuzin ©   (2004-12-30 10:46) [12]

>_1008_   (30.12.04 10:10) [10]
Большой ли документ получается? Много ли данных туда пихается...
В догонку к совету Danilka ©   (30.12.04 10:36) [11] в RichEdit все запихивай он может сохранять в RTF


 
_1008_   (2004-12-30 11:28) [13]

Danilka ©  (30.12.04 10:36) [11]

Я работаю с базой локально. Удалённая работа, где есть идёт быстро (показ информации).
Я использую табличное представление, а можно ли его показать в rtf-е?

Max Zyuzin ©  (30.12.04 10:46) [12]

Около ста страниц, размер 800-900 кБ около 1 МБ


 
Danilka ©   (2004-12-30 11:41) [14]

[13] _1008_   (30.12.04 11:28)
То-есть, та-же самая информация, но в гриде, а не в rtf-е отображается быстро?

> можно ли его показать в rtf-е?

Можно, кроме использования ворда через оле, я уже привел 2 варианта, третий вариант в [12].


 
_1008_   (2004-12-30 12:03) [15]

Danilka ©  (30.12.04 11:41) [14]

Данные в базе (в блобе) могут содержать олеобъекты (хорошая вещь RxRichEdit);

Я отображаю данные в RxRichEdit. При локальной работе это происходит довольно шустро (показать одну главную запись и десять связанных с ней занимает заметный промежуток времени, но довольно маленький). При работе по сети раз от раза по разному:
с машиной, которая стоит рядом я связываюсь долго;
с машиной которая стоит двумя этажами выше я связываюсь быстро;


 
Max Zyuzin ©   (2004-12-30 12:13) [16]

>_1008_   (30.12.04 12:03) [15]
Таакк.. тебе нужно с админами пообщаться, может с сетевыми картами проблемма, хотя даже на 10 Мб 1 Мб будет ООооочень быстро передаваться. Вообще как сеть работает на машине "медленной"?
А вообще у тебя я так понимаю сервер FireBird живет на куче машин что ли?


 
_1008_   (2004-12-30 12:49) [17]

Max Zyuzin ©  (30.12.04 12:13) [16]

Машина с которой медленный коннект на ней винду последний раз года три или четыре назад ставили, там наверняка такой бедлам и фрагментация, что ужас.

Но вопрос не в том, вопрос в том, что моя машина, за которой я сижу формирует мой документ полчаса. Причём активность винчестера почти ноль.


 
Max Zyuzin ©   (2004-12-30 12:54) [18]

>_1008_   (30.12.04 12:49) [17]
Показывай как формируешь документ...
"телепаты уехали праздновать новый год" Соловьев ©
:) Код в общем покажи....


 
msguns ©   (2004-12-30 13:00) [19]

1. Каким образом выкидываешь инфу в ворд ?
2. Не проще ли кидать в ексель с помощью "региональных" присвоений, а уж из него в ворд ?
3. Почему нельзя изначально хранить в БД не мемо, а собственно формат .doc ?


 
msguns ©   (2004-12-30 13:00) [20]

1. Каким образом выкидываешь инфу в ворд ?
2. Не проще ли кидать в ексель с помощью "региональных" присвоений, а уж из него в ворд ?
3. Почему нельзя изначально хранить в БД не мемо, а собственно формат .doc ?


 
Sancho ©   (2004-12-30 13:25) [21]

А у тебя на машине не XP стоит.


 
Sancho ©   (2004-12-30 13:26) [22]

Знак вопроса забыл, дубль два :-))
А у тебя на машине не XP стоит ?


 
_1008_   (2004-12-30 13:51) [23]

Max Zyuzin ©  (30.12.04 12:54) [18]
msguns ©  (30.12.04 13:00) [20]

Кода много. (распечатка занимает 8 страниц).


 
_1008_   (2004-12-30 13:52) [24]

Sancho ©  (30.12.04 13:25) [21]

У меня 98-я, на ХР та же мулька.


 
Max Zyuzin ©   (2004-12-30 14:03) [25]

>_1008_   (30.12.04 13:51) [23]
Что и все 8 страниц идут на то что бы в ворд вывести документ?


 
_1008_   (2004-12-30 14:15) [26]

Max Zyuzin ©  (30.12.04 14:03) [25]

Простой текст помещаю так:
inc(k);
newStr:="Запис №"+inttostr(k)+":";
WD.Tables.Item(WD.Tables.Count).Rows.Add(EmptyParam);
WD.Tables.Item(WD.Tables.Count).Cell(WD.Tables.Item(WD.Tables.Count).Rows.Count,1).Range.InsertAfter(newStr);
WD.Tables.Item(WD.Tables.Count).Cell(WD.Tables.Item(WD.Tables.Count).Rows.Count,1).Range.Bold:=1;
WD.Tables.Item(WD.Tables.Count).Cell(WD.Tables.Item(WD.Tables.Count).Rows.Count,1).Range.Font.Size:=14;


Блобы переношу в два захода (я тут уже спрашивал - иного решения никто не предложил):
Stream:=QuestQuery.CreateBlobStream(QuestQuery.FieldByName("QUESTION"), bmRead);
JRE.Lines.Clear;
JRE.Lines.LoadFromStream(Stream);
Stream.Free;
//-----------------------------------------//
JRE.SelectAll;
JRE.CopyToClipboard;
WD.Tables.Item(WD.Tables.Count).Rows.Add(EmptyParam);
WD.Tables.Item(WD.Tables.Count).Cell(WD.Tables.Item(WD.Tables.Count).Rows.Count,1).Range.Paste;


JRE - JvxRichEdit,
Stream - поток

Всё это делается в цикле по количеству записей в главной таблице.
Внутренний цикл с похожим кодом помещает подчинённые записи.


 
Sancho ©   (2004-12-30 14:16) [27]

_1008_   (30.12.04 13:52) [24]
Вот на XP можно попробовать отключить воостановление системы на том диске где файлы БД лежат, в смысле gdb. Я где-то читал, что в винде файлы с этим расширением системными считаются, т.е. при их изменении делается бэкап (только в WinXP).


 
Max Zyuzin ©   (2004-12-30 14:26) [28]

>_1008_   (30.12.04 14:15) [26]
А в блобе что живет? Не текст случаем?


 
_1008_   (2004-12-30 14:51) [29]

Max Zyuzin ©  (30.12.04 14:26) [28]

Назовём это композитными данными:
- текст;
- графика;
- формулы;
- что ещё в Word воткнуть штатными средствами можно.


 
Max Zyuzin ©   (2004-12-30 14:54) [30]

>_1008_   (30.12.04 14:51) [29]
Хотелось бы посмотреть как ты в это поле заносишь данные? так эе через клипбоард?


 
_1008_   (2004-12-30 15:09) [31]

Max Zyuzin ©  (30.12.04 14:54) [30]

InsertOleObject :) кажись так пишется. В диалоге выбирается тип объекта (коих в Windows не мало) и вперёд и с песнями.


 
Max Zyuzin ©   (2004-12-31 12:19) [32]

>_1008_   (30.12.04 15:09) [31]
Нужно покавырятся, а сейчас совсем не в состоянии... после праздников, ок? С НГ тебя


 
YurikGL ©   (2005-01-01 10:09) [33]

http://www.delphimaster.ru/articles/dbtoword/index.html


 
_1008_   (2005-01-04 09:54) [34]

YurikGL ©  (01.01.05 10:09) [33]

Спасибо, попробую разобраться.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2005.02.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.53 MB
Время: 0.037 c
11-1089191567
Vladimyr
2004-07-07 13:12
2005.02.06
Эти странные батоны...


14-1105859833
YurikGL
2005-01-16 10:17
2005.02.06
Подскажите нормальный дизайнер БД


6-1100943955
Неизвестный
2004-11-20 12:45
2005.02.06
Проблема с отправкой писем


3-1105067306
makz
2005-01-07 06:08
2005.02.06
Снова ХП


1-1106413490
ninja
2005-01-22 20:04
2005.02.06
ShellExecute





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский