powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Выбор СУБД - быстро, бесплатно, компактно
25 сообщений из 78, страница 2 из 4
Выбор СУБД - быстро, бесплатно, компактно
    #35514027
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
forumxyz
2. Экспорт - это заполнение заранее созданного шаблона Excel прямо в
окно программы Excel.

Вот это и есть источник тормозов. OLE экселя может быть очень тормозным.
За подробностями - в FAQ форума по Delphi.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Выбор СУБД - быстро, бесплатно, компактно
    #35514051
forumxyz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот, кажется, то что нужно... ? Посмотрите, пожалуйста, скажите что криво... ?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
    procedure InitExcel(templName: string);
    begin
        exAppl := CreateOleObject('Excel.Application');
        exAppl.Visible := true;
        exAppl.Application.EnableEvents := false;
        exAppl.DisplayAlerts := false;

        exAppl.Workbooks.Add(templName);
        Sheet := exAppl.Workbooks[ 1 ].WorkSheets[ 1 ];
    end;

    procedure ShowExcel;
    begin
        exAppl.Application.EnableEvents := true;
        exAppl.DisplayAlerts := true;
        exAppl.Visible := true;
    end;

    procedure WriteColumnNow(columnName: string; a1: TStringList; varType: Word; IsInsert: boolean = false);
    var col, row: Integer;
    begin
        try
            if a1.Count >  0  then
                Sheet.Range[columnName + 'Один'] := a1.Strings[ 0 ];
        except end;

        try
            row := Sheet.Range[columnName].Row;
            col := Sheet.Range[columnName].Column;
            if IsInsert and (a1.Count >  1 ) then Sheet.Range[IntToStr(row +  1 ) + ':' + IntToStr(row + a1.Count -  1 )].EntireRow.Insert(xlShiftUp);
            Sheet.Range[xlR1C1ColToA1Col(col) + IntToStr(row), xlR1C1ColToA1Col(col) + IntToStr(row + a1.Count -  1 )] := VarArrayFromStrings(a1, varType);
        except end;
    end;

    procedure WriteCompanyReport;
    var i, j: Integer;
        strList, sss: TStringList;
        ss: TStrings;
        fio: string;
        lOC: string;
    begin
      lOC := frmDM.GetID('select COMPANY_ID from COMPANY_OUR');
        try
            strList := TStringList.Create;
            sss := TStringList.Create;

            InitExcel(templateName);

            for i := Low(TemplHeader[ 0 ]) to High(TemplHeader[ 0 ]) do
                strList.AddObject(TemplHeader[ 0 ][i], TStringList.Create);

            for i :=  0  to tvBook.DataController.GetSelectedCount -  1  do begin
                sss.Add(IntToStr(i +  1 ));
                with tvBook.DataController do
                    if frmDM.qBook2.Locate('MEGA_ID', Values[GetRowInfo(GetSelectedRowIndex(i)).RecordIndex, tvBookMEGA_ID.Index], []) then
                        for j := Low(TemplHeader[ 0 ]) to High(TemplHeader[ 0 ]) do
                            if (TemplHeader[ 0 ][j] = 'АгентИО') or (TemplHeader[ 0 ][j] = 'СтраховательИО') then begin

                                fio := frmDM.qBook2.FieldByName(TemplHeader[ 1 ][j]).AsString;
                                Split(fio, ' ', ss);
                                if ss.Count >  1  then
                                  try
                                    fio := ss.Strings[ 0 ];
                                    fio := fio + ' ' + LeftStr(ss.Strings[ 1 ],  1 );
                                    fio := fio + '.' + LeftStr(ss.Strings[ 2 ],  1 ) + '.';
                                  except
                                  end;
                                FreeAndNil(ss);

                                TStringList(strList.Objects[j]).Add(fio);
                            end else if (TemplHeader[ 0 ][j] = 'НеПолучены') then begin
                                if frmDM.qBook2.FieldByName(TemplHeader[ 1 ][j]).AsString = '1' then TStringList(strList.Objects[j]).Add('не получены')
                                else TStringList(strList.Objects[j]).Add('получены');
                            end else if (TemplHeader[ 0 ][j] = 'Рассрочка') then begin
                                if frmDM.qBook2.FieldByName(TemplHeader[ 1 ][j]).AsString = '1' then TStringList(strList.Objects[j]).Add('да')
                                else TStringList(strList.Objects[j]).Add('нет');
                            end else if (TemplHeader[ 0 ][j] = 'Суб') then begin
                                if frmDM.qBook2.FieldByName(TemplHeader[ 1 ][j]).AsString = '' then TStringList(strList.Objects[j]).Add(lOC)
                                else TStringList(strList.Objects[j]).Add(frmDM.qBook2.FieldByName(TemplHeader[ 1 ][j]).AsString);
                            end else if (TemplHeader[ 0 ][j] = 'ОбщаяСумма') then begin
                                if Length(frmDM.qBook2.FieldByName(TemplHeader[ 1 ][j]).AsString) =  0  then
                                    TStringList(strList.Objects[j]).Add(frmDM.qBook2.FieldByName('Book_SUMMA').AsString)
                                else TStringList(strList.Objects[j]).Add(frmDM.qBook2.FieldByName(TemplHeader[ 1 ][j]).AsString);
                            end else if (TemplHeader[ 0 ][j] = 'СуммаКомпании') then begin
                                TStringList(strList.Objects[j]).Add(IntToStr((frmDM.qBook2.FieldByName('Book_SUMMA').AsInteger - frmDM.qBook2.FieldByName('AGENT_RATE').AsInteger)));
                            end else TStringList(strList.Objects[j]).Add(frmDM.qBook2.FieldByName(TemplHeader[ 1 ][j]).AsString);
            end;

            try Sheet.Range['Шапка'] := Sheet.Range['Шапка'].Value + FormatDateTime('dd.mm.yyyy', cxDateBegin.EditValue) + '-' + FormatDateTime('dd.mm.yyyy', cxDateEnd.EditValue)
            except end;

            WriteColumnNow('Номер', sss, varInteger, true);

            for i := Low(TemplHeader[ 0 ]) to High(TemplHeader[ 0 ]) do begin
                if (TemplHeader[ 0 ][i] = 'НачалоДоговора') or (TemplHeader[ 0 ][i] = 'ОкончаниеДоговора') or
                (TemplHeader[ 0 ][i] = 'ДатаСледующегоПлатежа') or(TemplHeader[ 0 ][i] = 'ОкончаниеПериода') or
                (TemplHeader[ 0 ][i] = 'ДатаПлатежа')
                then
                    WriteColumnNow(TemplHeader[ 0 ][i], TStringList(strList.Objects[i]), varDate)
                else if (TemplHeader[ 0 ][i] = 'СуммаОплаты') or (TemplHeader[ 0 ][i] = 'Комиссия') or
                (TemplHeader[ 0 ][i] = 'ОбщаяСумма') or (TemplHeader[ 0 ][i] = 'СуммаКомпании') or (TemplHeader[ 0 ][i] = 'Стоимость') then
                    WriteColumnNow(TemplHeader[ 0 ][i], TStringList(strList.Objects[i]), varCurrency)
                else if (TemplHeader[ 0 ][i] = 'Год') then
                    WriteColumnNow(TemplHeader[ 0 ][i], TStringList(strList.Objects[i]), varInteger)
                else WriteColumnNow(TemplHeader[ 0 ][i], TStringList(strList.Objects[i]), varOleStr);
            end;

            ShowExcel;
        finally
            for i := Low(TemplHeader[ 0 ]) to High(TemplHeader[ 0 ]) do
                TStringList(strList.Objects[i]).Free;
            FreeAndNil(strList);
        end;
    end;

    function IsOLEObjectInstalled(Name: String): boolean;
    var ClassID: TCLSID;
        Rez : HRESULT;
    begin
        Rez := CLSIDFromProgID(PWideChar(WideString(Name)), ClassID);
        if Rez = S_OK then Result := true
        else Result := false;
    end;

begin
    if not IsOLEObjectInstalled('Excel.Application') then begin
        ShowMessage('Excel не установлен! Работа программы невозможна!');
        exit;
    end;
    exAppl := Unassigned;
    Sheet := Unassigned;

PS Касательно Delphi-FAQ - зашёл в раздел этого форума Delphi, но там нет выделенного FAQ как например есть в разделе Firebird... не там смотрел?
...
Рейтинг: 0 / 0
Выбор СУБД - быстро, бесплатно, компактно
    #35514305
forumxyz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так что скажете про этот код работы с Excel - криво или правильно? Может быть из-за него тормоз? Если да - как сделать чтобы тормоза не было?
...
Рейтинг: 0 / 0
Выбор СУБД - быстро, бесплатно, компактно
    #35514308
forumxyz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот ещё такой момент - один разработчик с серьёзным портфолио заинтересовался доработкой этой программы, но он работает только с PostgreSQL - как эта СУБД в сравнении с FB2 ? Есть ли существенные преимущества, чтобы переплачивать за смену СУБД?
...
Рейтинг: 0 / 0
Выбор СУБД - быстро, бесплатно, компактно
    #35514375
Фотография cyx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторСитуация такая - есть ПО работает на Firebird2.
СУБД у вас стоит на выделенной машине (сервере)?
Какая ОС, какое железо? Сетка на чем?

Что касается вопроса. Чем вас не устаивает MySQL? Дешево (т.е. бесплатно), быстро и практично...
...
Рейтинг: 0 / 0
Выбор СУБД - быстро, бесплатно, компактно
    #35514379
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
forumxyzЕсть ли существенные преимущества, чтобы переплачивать за смену СУБД?
В контексте ваших проблем - однозначно нет.
...
Рейтинг: 0 / 0
Выбор СУБД - быстро, бесплатно, компактно
    #35514469
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я вот что скажу. Почему на техническом форуме задает вопросы человек, который к программированию задачи отношения не имеет?
Зачем вот это ...ство, транслировать сюда вопросы, и транслировать обратно?
Вы понимаете, что это испорченный телефон?

Нормальных вариантов 2
1. спросить, нормально-ли торможение при заданных условиях задачи и технике.
Вы спросили. Вам ответили - ненормально. Следовательно, вы сомневаетесь в разработчике,
начинаете его пинать, и он уже сам выходит сюда с вопросами.

2. сам разработчик пусть задает вопросы.

Итак, как видите, все переводится в вариант 2. Причем, непонятно, почему разработчик не понял, где именно тормоза - что не в ФБ, а в экспорте и отчетах. Или это опять же, испорченный телефон?

Вам правильно посоветовали, что при задании вопроса надо себя спозиционировать - тогда Вы получите тот ответ, который понятен именно Вам.

forumxyzВот, кажется, то что нужно... ? Посмотрите, пожалуйста, скажите что криво... ?
здесь надо не так. Вначале надо проверить, насколько быстро можно получить данные для отчета из ФБ. Исходя из запроса, который я вижу (и он один), запрос выполнится практически мгновенно.
Дальше идет мрачное формирование отчета. Если оно тормозит вообще, то да, тормозит именно этот код. Может быть имеет смысл генерировать отчет например во FreeReport/FastReport, и экспортировать данные в Excel (если вообще в экспорте в Excel есть смысл)?

кстати, PostgreSQL в данном случае будет только хуже. Т.к. например у него нет варианта, аналогичного FB Embedded, который в Вашем случае и надо использовать (однопользовательские приложения). И, как видите, с точки зрения производительности менять один сервер на другой никакого смысла не имеет. А разработчик с "серьезным портфолио" мог бы вполне быстро доработать эту задачу и не меняя СУБД.

cyxЧем вас не устаивает MySQL? Дешево (т.е. бесплатно), быстро и практично...
MySQL для таких задач избыточен и не годится. Не его ниша. Данная ниша плотно занята IB/FB, где эти СУБД проявляют себя лучше, быстрее, дешевле и качественнее, чем MySQL.
В вебе - да, MySQL более популярен, по другим причинам.
...
Рейтинг: 0 / 0
Выбор СУБД - быстро, бесплатно, компактно
    #35514480
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
Зачем вот это ...ство, транслировать сюда вопросы, и транслировать обратно?
Вы понимаете, что это испорченный телефон?

Дима, ты ещё не понял, что у автора нет (уже нет) разработчика? На
форуме "работа" он ищет ему замену, а тут (почему-то) пытается сделать
то же самое (телепатически починить код), но нахаляву.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Выбор СУБД - быстро, бесплатно, компактно
    #35514518
Фотография битый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
forumxyzСреди русско-говорящих программистов все понтовые и самодовольные дилетанты, или всё же есть культурные и умные люди способные дать объяснительный ответ на вопрос темы...?
Смените девочек...
...
Рейтинг: 0 / 0
Выбор СУБД - быстро, бесплатно, компактно
    #35514633
forumxyz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
Анализировать вы ещё явно недоросли. Вас родители культуре не научили? Может пойдёте уже куда подальше.

битый
Смените девочек...
Себя предлагаешь?

Тупое самодовольство с возрастом не проходит? Культура с возрастом не приходит?

==========================

cyx
Уже писал - машина указана в первом постинге, метод запуска далее по теме:
Celeron2Ghz@512mb, FB2 локально на этом же компе.

artemana
Спасибо. И всё же - в каком контексте имеет смысл?

kdv
Нет, выводы касательно 1-2 неверные.
Как Вы можете убедиться просто прочитав все постинги только этой ветки - 90% программистов очень самоуверены и самодовольны - настолько, что неспособны к самокритике и даже конструктивную доказательную критику порою воспринимать не в состоянии. Поэтому хочется программера "ткнуть носом в тему".

FastReport - на мой взгляд - это дебильная поделка уничтожающая интеллект рядового оператора БД. Ни один из протестированных операторов-вводчиков не смогли управиться с таким непонятным конструктором.

FB Embedded - не нужен, т.к. должен быть и доступ по сети.

За остальные ответы - большое спасибо.
...
Рейтинг: 0 / 0
Выбор СУБД - быстро, бесплатно, компактно
    #35514675
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvИсходя из запроса, который я вижу (и он один), запрос выполнится практически мгновенно. Дальше идет мрачное формирование отчета.

Скорее всего, автору никакая СУБД не поможет (рассмотрение формирования отчетов в духе программирования объектов Йекселя особенно в топике Сравнение СУБД уместно). Зато автор не какой-нибудь там "понтовый дилетант", а является каким-то более приличным видом дилетантов.
...
Рейтинг: 0 / 0
Выбор СУБД - быстро, бесплатно, компактно
    #35514676
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
forumxyzАнализировать вы ещё явно недоросли.

И это говорит человек, вываливающий сюда (в неправильный форум) обрывок
слепого кода с вопросом "а может это тормозить?"... Ответ: да, этот
кусок кода может тормозить. А может и не тормозить. Притом с изрядной
вероятностью этот кусок вообще не имеет никакого отношения к "двум
тысячам записей по сорок полей".
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Выбор СУБД - быстро, бесплатно, компактно
    #35514694
forumxyz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребята, может вы свои комплексы в другом месте будете решать?
...
Рейтинг: 0 / 0
Выбор СУБД - быстро, бесплатно, компактно
    #35514704
I00N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возьмитесь уже кто-нибудь и доработайте этот сложный проект! Автор топика как раз ищет такого человека . Интеллект, культуру, точность и внимательность гарантирует.

:)
...
Рейтинг: 0 / 0
Выбор СУБД - быстро, бесплатно, компактно
    #35514706
I00N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Причиной тормозов может быть неправильное(неотпимальное) использование средств/ресурсов используемой СУБД.
Думаю, Вам нужен человек, умеющий грамотно составлять и отпимизировать SQL-запросы. Например, автор темы /topic/590254
...
Рейтинг: 0 / 0
Выбор СУБД - быстро, бесплатно, компактно
    #35514724
C#C++
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
I00NНапример, автор темы /topic/590254Да, впечатляет...
...
Рейтинг: 0 / 0
Выбор СУБД - быстро, бесплатно, компактно
    #35514758
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
forumxyzРебята, может вы свои комплексы в другом месте будете решать?
пришли спрашивать - не учите других, как им отвечать.

forumxyzНет, выводы касательно 1-2 неверные.
верные, это я Вам как человек, проработавший в техсаппорте 13 лет говорю.
есть, правда, еще вариант - что Вы все врете, и именно Вы являетесь этим самым
разработчиком.

forumxyzFastReport - на мой взгляд - это дебильная поделка уничтожающая интеллект рядового оператора БД.
что подтверждает мой вывод про вранье. зачем "оператору" конструктор отчетов? тем более, если изначально вывод идет в excel.

Ответьте сначала себе на вопросы:
1. Вы пришли сюда повышать свой уровень программирования?
2. Вы пришли сюда оценить чужую работу?
3. Вы пришли сюда разговаривать вместо разработчика?

Собственно, по всем трем пунктам Вам уже ответили. И думаю, что ничего более конкретного Вы на свои вопросы в ответ вряд-ли услышите.
...
Рейтинг: 0 / 0
Выбор СУБД - быстро, бесплатно, компактно
    #35514764
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
forumxyzТак что скажете про этот код работы с Excel - криво или правильно? Может быть из-за него тормоз? Если да - как сделать чтобы тормоза не было?
Конечно, это вопрос по Дельфи, а не по выбору СУБД.

Весьма криво.
Данные вносятся поячеечно.

Нужно сформировать динамический массив размером со вставляемые данные, ввести в него все рассчитанные данные и одним махом вставить его на нужно еместо.

Примерно так. Это сильно прореженый кусок реального кода, возможно где-то необратил внимание на значения индексов.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
procedure GetReportData;
var i,row : integer;
ArrayData : Variant;
begin

with FormMain.ADODataSetShare do
begin

Open;
ArrayData := VarArrayCreate([ 1 , FormMain.ADODataSetShare.RecordCount,  1 , FieldCount], varVariant);

row:= 1 ;

while not eof do
begin

for i:= 1  to FieldCount do
ArrayData[row, i] := ''''+Fields[i- 1 ].asString;

row:=row+ 1 ;
next;
end;
EA.Sheets[ 2 ].Range[EA.Sheets[ 2 ].Cells[ 2 , 1 ],
        EA.Sheets[ 2 ].Cells[row,FieldCount]].value:=ArrayData;
Close;
end;
end;

Хотя, конечно, топикастер все равно нифига не понял
...
Рейтинг: 0 / 0
Выбор СУБД - быстро, бесплатно, компактно
    #35514769
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Забыл добавить. Писать selectы к таблицам в коде - дурной тон.
Имена таблиц и полей имеют свойство меняться в процессе разработки. Но это уже, тоже, конечно в Дельфи.
Девочек и студентов надо менять, однозначно :)
...
Рейтинг: 0 / 0
Выбор СУБД - быстро, бесплатно, компактно
    #35514781
forumxyz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdvпришли спрашивать - не учите других, как им отвечать.
Мне подачки от самодовльных пустозвонов не нужны - не хотите помочь культурно и по теме - засуньте свой тупой п*здёж себе в зад.

kdvчто подтверждает мой вывод про вранье. зачем "оператору" конструктор отчетов? тем более, если изначально вывод идет в excel.
Вы хотите предложить использовать FastReport для заполнения шаблонов .xlt? Так вообще можно?!

Остальное пропускаю ибо бред.


Cat2
Спасибо за подробное поругание кода и пример, могли бы вы и написать как правильно:
1. как наиболее быстро заполнять шаблоны .xlt?
2. если шаблоны нельзя заполнять быстрее и иначе чем через OLE - то как оптимально и быстро экспортировать отчёты (очень много разных >100!) в Excel (не .xlt не OLE).
3. что прогер должен был использовать вместо Select? Строку напишите, пожалуйста...
...
Рейтинг: 0 / 0
Выбор СУБД - быстро, бесплатно, компактно
    #35514813
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
forumxyz
1. как наиболее быстро заполнять шаблоны .xlt?
2. если шаблоны нельзя заполнять быстрее и иначе чем через OLE - то как оптимально и быстро экспортировать отчёты (очень много разных >100!) в Excel (не .xlt не OLE).
3. что прогер должен был использовать вместо Select? Строку напишите, пожалуйста...

1-2. Что вам Excel-то этот дался? В обычный текстовой файл нельзя? Ну, не так красиво, но инфа-то на месте.
Зачем нужно заполнение xlt? Можно в качестве шаблонга и обычный xls использовать.

Если уж очень хочется в эксель, то можно применить такой способ: данные выгружаются в XML, XML через таблицу стилей XSL преобразуется в HTML. Если HTML-файлу дать расширение XSL, то он будет открываться в Excel.

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

3. Лучший способ - использовать хранимые процедуры. Хуже, но тоже ничего - селет по вьюхам.
...
Рейтинг: 0 / 0
Выбор СУБД - быстро, бесплатно, компактно
    #35514823
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2
Нужно сформировать динамический массив размером со вставляемые данные,
ввести в него все рассчитанные данные и одним махом вставить его на
нужно еместо.

Вообще-то в приведённом куске так и делается: обрати внимание на
процедуру WriteColumnNow. Гораздо подозрительнее выглядит Locate по
qBook2 неизвестного размера.
Но, как я уже сказал, не наблюдается ни 40 полей, ни 2000 записей. Хотя,
конечно, телепатически трудно судить о значении
tvBook.DataController.GetSelectedCount. Может, их операторы достаточно
суровы, чтобы ручками выделить 2000 договоров.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Выбор СУБД - быстро, бесплатно, компактно
    #35514825
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТС - 5* звездун.
Бо, счас проверил, 6 мульенная база лехко летает на С215(1,2Ghz)+512RAM.
Отправить к мускулистам. Там все бесплатно: СУБД, транзакции, репликаци и дендюли.
...
Рейтинг: 0 / 0
Выбор СУБД - быстро, бесплатно, компактно
    #35514837
eJack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Могу сказать что проблема точно не FB. Так как обслуживал систему построенную на FB - база была достаточно большой (более гигабайта). Сам FB стоял на отдельном серваке. Вам рекомендую сделать тоже самое.

Переносить данные из одной БД в другую - это поверьте геморно. По имеете проблем не мало да еще и код придется сильно дорабатывать.

Что в вашем случае перво наперво нужно сделать -
1. Перенести базу на отдельный сервак. (минимум затрат как финансово так и временных), для начала хватит и просто среднего компа.
2. И необходимо проверить время выборки данных, елси выборка происходит быстро то проблема в импорте (что скорее всего так и есть), для импорта лучше поискать платные компоненты и реализовать импорт на них. Я думаю ваша проблема на этом будет решена.

Да и на последок - Скупой платит дважды, а оооочень скупой - трижды.
...
Рейтинг: 0 / 0
Выбор СУБД - быстро, бесплатно, компактно
    #35514845
eJack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да мы делали так (мы используем .NET) генерируем отчет (MicrosoftReport) и делаем импорт в эксель или еще куда надо - быстро и без гемора! Если я не ошибаюсь фастрепорт тоже позволяет такое.
...
Рейтинг: 0 / 0
25 сообщений из 78, страница 2 из 4
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Выбор СУБД - быстро, бесплатно, компактно
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]