Forum Delphi.cz
Delphi => FireDAC => Téma založeno: Stanislav Hruška 17-06-2020, 09:53:44
-
FqryUI.SQL.Text := FqryUI.SQL.Text + 'WITH'+
' ASA AS'+
' (SELECT SA.IDSUBACCOUNTS, SA.FKFOCS'+
' FROM SUBACCOUNTS SA'+
' WHERE (SA.ALLFOC = :ALLFOC) AND (SA.FKFOCS = :FKFOCS)),'+
' SEP AS'+
' (SELECT SP.FKSERVICES, SP.IDSERVICEPARAMETERS AS FKSERVICEPARAMETERS, SP.PERIOD'+
' FROM SERVICEPARAMETERS SP'+
' WHERE (SP.PERIOD = :YEARS)),'+
' SAC AS'+
' (SELECT DISTINCT SP.FKSERVICES, ISM.FKSUBACCOUNTS'+
' FROM INVO_N_SUMS ISM'+
' INNER JOIN SERVICEPARAMETERS SP ON (ISM.FKSERVICEPARAMETERS = SP.IDSERVICEPARAMETERS))'+
.
' SELECT ASA.FKFOCS, SEP.PERIOD AS YEARS, SEP.FKSERVICEPARAMETERS, D.FKOWNER_FLAT,'+
' COALESCE(SAC.FKSUBACCOUNTS, ASA.IDSUBACCOUNTS) AS FKSUBACCOUNTS,'+
' SP.FKCATEGORIES, D.DEPOSITPERIOD, D.DEPOSIT, D.PAY, D.PAY - D.DEPOSIT AS BALANCE'+
' FROM ASA,'+
' DEPOSITS D'+
' INNER JOIN SERVICEPARAMETERS SP ON (D.FKSERVICEPARAMETERS = SP.IDSERVICEPARAMETERS)'+
' LEFT OUTER JOIN SAC ON (SP.FKSERVICES = SAC.FKSERVICES)'+
' INNER JOIN SEP ON (SEP.FKSERVICES = SP.FKSERVICES)'+
// ' WHERE (D.DEPOSITPERIOD BETWEEN CAST(:DATEFROM AS DATE) AND CAST(:DATETO AS DATE))';
' WHERE (D.DEPOSITPERIOD BETWEEN :DATEFROM AND :DATETO)';
.
FqryUI.ParamByName('DATEFROM').AsDate := oCommonData.BillingFrom; // TDate
FqryUI.ParamByName('DATETO').AsDate := oCommonData.BillingTo;
raised exception class EIBNativeException with message '[FireDAC][Phys][FB]conversion error from string "2016-02-01"'.
Je to DATEFROM, ktorý sa nikde inde nevyskytuje.
Nepomohlo ani pretypovanie. Fungovalo to a nič som tu nemenil. FqryUI vytváram dynamicky.
-
Bol som na 100 % presvedčený, že som tabuľku nemenil. Nie je to pravda.
To sa už sám nad sebou nestačím čudovať.
-
Bol som na 100 % presvedčený, že som tabuľku nemenil. Nie je to pravda.
To sa už sám nad sebou nestačím čudovať.
No a co nejaky ten VCS, pouzivas? Mam dojem, ze jsi koketoval Git... Pak neni nic jednoduzsiho, nez si nechat porovnat zdrojovky v ruznych revizich.
-
Používam Git. No ak zmeníš štruktúru DB tabuliek, tak Ti to nepomôže.
-
Používam Git. No ak zmeníš štruktúru DB tabuliek, tak Ti to nepomôže.
Jak to :-O My vzdycky vytvarime scripty, ktere se daji aplikovat napr. u zakaznika aj., takze mame nejaky primarni create script a pak zmenove skripty ke kazde evoluci schematu, stejne jako scripty pro naplneni cisleniku aj. primarnich dat. A ty jsou samozrejme pod spravou VCS, takze se da pomerne jednoduse zjistit kdo a jako co zmenil.
-
U mňa to je úplne iné. DB mením za pochodu a ručne. Nie je nikde expedovaná. Takže sa hrám na vlastnom piesku. To čo popisuješ príde do úvahy v ďalšom štádiu. Ak bude existovať nejaký užívateľ programu.
-
To čo popisuješ príde do úvahy v ďalšom štádiu.
Podle toho, co tam vyvadis, tak vcera bylo pozde :)
-
Je to lenivosť a nedôslednosť. Kedže som vedel, že som urobil v štruktúre DB viac zmien, tak som mal automaticky skontrolovať všetky tabuľky prichádzajúce do úvahy.
-
U mňa to je úplne iné. DB mením za pochodu a ručne. Nie je nikde expedovaná. Takže sa hrám na vlastnom piesku. To čo popisuješ príde do úvahy v ďalšom štádiu. Ak bude existovať nejaký užívateľ programu.
Někdy mě tak napadá jestli tady existuje ještě nějaký člověk který investoval tolik času a financí do projektu který se vůbec nepoužívá a má pořád sílu v tom pokračovat..
Jinak co se týká verzí struktury databáze - ja nepoužívám rozdílové skripty ale v případně změny ve strukture ukládám starší verzi databáze pod pořadovým číslem a pokracuji novou verzí.
tak mám k dispozici "originály všech" distribuovaných verzí
-
Někdy mě tak napadá jestli tady existuje ještě nějaký člověk který investoval tolik času a financí do projektu který se vůbec nepoužívá a má pořád sílu v tom pokračovat..
:) Povedz mi, čo by som mal robiť. Som na dôchodku, sám v garsónke a už som investoval toľko energie, času a financií, žeby bolo hriechom to nedokončiť.
Ja sa radšej pripojím k tým skriptom. Neviem si predstaviť, vlastne viem, žeby som do novej verzie musel kopírovať všetky záznamy z predchádzajúcej verzie. To nehovorím o tom, kedy by zákazník skočil napr. z ver. 3 na 6.
-
Neviem si predstaviť, vlastne viem, žeby som do novej verzie musel kopírovať všetky záznamy z predchádzajúcej verzie. To nehovorím o tom, kedy by zákazník skočil napr. z ver. 3 na 6.
Lze to nastavit zcela automaticky. A uplně klidně mohu v 99,9 % případů kopírovat z verze 3 do verze 30 . Používám tento systém ve všech databázových aplikacích IB/FB už více jak 15 let.
-
Někdy mě tak napadá jestli tady existuje ještě nějaký člověk který investoval tolik času a financí do projektu který se vůbec nepoužívá a má pořád sílu v tom pokračovat..
:) Povedz mi, čo by som mal robiť. Som na dôchodku, sám v garsónke a už som investoval toľko energie, času a financií, žeby bolo hriechom to nedokončiť.
Já to myslel v dobrém - Než si to na foru "prozradil" tak jsem si myslel, že na tom byťáku pracuješ a vyvíjíš tento systém za pochodu
-
Neviem si predstaviť, vlastne viem, žeby som do novej verzie musel kopírovať všetky záznamy z predchádzajúcej verzie. To nehovorím o tom, kedy by zákazník skočil napr. z ver. 3 na 6.
Lze to nastavit zcela automaticky. A uplně klidně mohu v 99,9 % případů kopírovat z verze 3 do verze 30 . Používám tento systém ve všech databázových aplikacích IB/FB už více jak 15 let.
A nedělá problém velikost databáze? Já používám zmíněné změnové skripty a nedovedu si představit, že by při každé změně u zákazníka museli čekat, než se celá databáze zkopíruje (největší databáze má přes 20 GB, je na serveru...).
-
A nedělá problém velikost databáze? Já používám zmíněné změnové skripty a nedovedu si představit, že by při každé změně u zákazníka museli čekat, než se celá databáze zkopíruje (největší databáze má přes 20 GB, je na serveru...).
No při této velikosti by to časový problém asi byl ,ale zatím jedu v rámci stovek MB takže je to max. o minutách , v případě u malých DB desítky sekund.
-
Jinak co se týká verzí struktury databáze - ja nepoužívám rozdílové skripty ale v případně změny ve strukture ukládám starší verzi databáze pod pořadovým číslem a pokracuji novou verzí.
tak mám k dispozici "originály všech" distribuovaných verzí
A jak to delas bez scriptu u zakazniku, kteri samozrejme chteji svoje "ziva" data zachovat a plynule na ne navazat po uporave DB?
-
Já to myslel v dobrém - Než si to na foru "prozradil" tak jsem si myslel, že na tom byťáku pracuješ a vyvíjíš tento systém za pochodu
Nikdy som si nemyslel, že by tu niekto niečo myslel v zlom. Rád by som na tom pracoval za pochodu, ale ja mám veľmi malý výkon. Ale veľa času a čas sú peniaze.
Skoro každá reakcia mi niečo prinesie.
-
A jak to delas bez scriptu u zakazniku, kteri samozrejme chteji svoje "ziva" data zachovat a plynule na ne navazat po uporave DB?
V instalaci mám prázdou "novou" databázi , zakazník si nainstaluje exe ve které jako konstanta číslo verze databáze + dalsi veci a pri spusteni aplikace se porovnají verze databáze a pokus se liší spustí se po schválení převod dat z ostré databáze do nové , pak se ostrá prejmenuje na starou a nová na ostrou. Samozrejme by to slo delat i pres aliasy atp. ale zatím mě systém vyhovuje .
Jediné omezení je na sitové instalaci kdy to musí dělat správce databáze ..
-
A jak to delas bez scriptu u zakazniku, kteri samozrejme chteji svoje "ziva" data zachovat a plynule na ne navazat po uporave DB?
V instalaci mám prázdou "novou" databázi , zakazník si nainstaluje exe ve které jako konstanta číslo verze databáze + dalsi veci a pri spusteni aplikace se porovnají verze databáze a pokus se liší spustí se po schválení převod dat z ostré databáze do nové , pak se ostrá prejmenuje na starou a nová na ostrou. Samozrejme by to slo delat i pres aliasy atp. ale zatím mě systém vyhovuje .
Takze pri kazdem bugfixu musis preinstalovavat? A chapu to spravne, ze tu migraci dat delas v kodu z Delphi, ktery jsi musel napsat?
-
Takze pri kazdem bugfixu musis preinstalovavat? A chapu to spravne, ze tu migraci dat delas v kodu z Delphi, ktery jsi musel napsat?
No pokud je změna ve struktuře databáze tak ano , pokud je změna například jen v EXE tak samozřejmě reinstalalci bych dělat nemusel ale až na vyjimky dělam kompletní instalačku již z důvodů že mi všechny
exe a dll podepíše - Instalačku mám udělanou tak aby aby plná i upgrade.
Ano migraci dat dělám v kodu z Delphi který je univerzální a funguje mi pro všechny mé aplikace.
Dříve jsem to měl jako samostatný exe takže to mohlo fungovat i pro cizí aplikace a v rámci zjednodušení rto linkuji do jednoho exe.
mám to připravené pro IBX a FIBPLUS