Forum Delphi.cz

Delphi => FireDAC => Téma založeno: Stanislav Hruška 27-11-2015, 11:05:34

Název: FireDAC - FireBird -> embeded/server
Přispěvatel: Stanislav Hruška 27-11-2015, 11:05:34
Nakoľko personal edícia XE nemá podporu servera, tak som si zisťoval ako to je. Ale som z toho trocha zmätený a v miernom šoku >:(

Ja som mal predstavu, že nainštalujem FireBird server a k DB sa môžem pomocou FireDAC naraz pripojiť z niekoľkých klientov. Asi to nie je pravda.

Pri zisťovaní ceny FireDAC serveru (pre mňa neprijateľných 370 €) som sa dočítal, že súčasťou upgradu je zadarmo server. Ten je odporúčaný pre viac ako 5 pripojení. A tomu vôbec nerozumiem. Aký server? Čo to znamená?

Prosím o jednoduché vysvetlenie. Ďakujem
Název: Re:FireDAC - FireBird -> embeded/server
Přispěvatel: Stanislav Hruška 27-11-2015, 22:02:51
Pozretí veľa, ale odpoveď žiadna :'( Prosím aspoň o vyjadrenie sa k prvej časti:
Citace
Ja som mal predstavu, že nainštalujem FireBird server a k DB sa môžem pomocou FireDAC naraz pripojiť z niekoľkých klientov. Asi to nie je pravda.
Nemám podmienky na vyskúšanie.
Název: Re:FireDAC - FireBird -> embeded/server
Přispěvatel: pepak 28-11-2015, 09:06:29
Firebird by to klidně zvládnul, v tom problém není. Problém bude buď v tom, že ten FireDAC používáš blbě (špatný connection string, nebo co to používá), nebo tě zasahují omezení tvé edice Delphi. A nebo ještě něco jiného, třeba že tě blokuje firewall. Každopádně rozhodnout se nedá, když neznáme ani tvůj kód pro připojení k databázi, ani tvou edici Delphi, ani nastavení tvého serveru či klientů.
Název: Re:FireDAC - FireBird -> embeded/server
Přispěvatel: Stanislav Hruška 28-11-2015, 10:03:12
Citace
když neznáme ani tvůj kód pro připojení k databázi, ani tvou edici Delphi
Už som doplnil druh edície. Mám professional. A práve o to mi ide. Ostatné veci nechajme bokom - predpokladajme, že sú urobené/nastavené správne.
Název: Re:FireDAC - FireBird -> embeded/server
Přispěvatel: Daniel_Andrascik 28-11-2015, 15:24:34
Pises firebird embeded/server. Ak pouzivas firebird v embeded rezimu tak k jednej databaze sa nemoze pripojit viacej klientov. Je to obmedzenie firebirdu. Ale ako pise pepak, zalezi ako sa pripajas. Aj ked ako pises mas nainstalovany FB server, tak zalezi na nastaveni tvojho "connectionu" ci sa nahodov nepripajas v embeded rezime a dalsia vec je ako to do toho keca samotny FireDAC vzhladom na jeho licencne obmedzenia ktore presne nepoznam.
Název: Re:FireDAC - FireBird -> embeded/server
Přispěvatel: starous 28-11-2015, 16:40:51
Delphi ve verzi Professional podporuje jen lokální připojení k serveru. Pro práci s FireBirdem, který běží na serveru, bys potřeboval verzi Enterprise nebo dokoupit FireDac Add-on.
 
Název: Re:FireDAC - FireBird -> embeded/server
Přispěvatel: Ondřej Pokorný 28-11-2015, 20:58:50
http://sourceforge.net/projects/zeoslib/ (http://sourceforge.net/projects/zeoslib/)

nezkousel jsem, ale nekdo to uspesne pouziva.
Název: Re:FireDAC - FireBird -> embeded/server
Přispěvatel: Stanislav Hruška 28-11-2015, 21:05:32
Citace
nezkousel jsem, ale nekdo to uspesne pouziva.
Zas všetko robiť od začiatku ??? Rád by som sa už pohol ďalej :D A učiť sa niečo nové?
Bolo to tu viackrát odporúčané.

V prípade zázraku (dokončenie a záujem o program) radšej zaplatím tých 370 €. To by sa mi vrátilo v podstate okamžite.
Ďakujem.

Nie žeby som neveril, ale chcel som si prečítať čo mi FireDAC v professional verzii umožňuje. No na (pre mňa debilných) stránkach embarcadera neviem nič nájsť. Prosím nejaký odkaz.
Název: Re:FireDAC - FireBird -> embeded/server
Přispěvatel: Ondřej Pokorný 28-11-2015, 21:48:27
Prosím nejaký odkaz.

:D Taky stále hledám to království, kde létají pečení holuby přímo do pusy :D
(Neber osobně, jen prostě začíná čas pohádek ;))
Název: Re:FireDAC - FireBird -> embeded/server
Přispěvatel: Stanislav Hruška 28-11-2015, 21:50:46
Beriem to osobne ;D
Nežiadal by som, keby som niečo našiel. Už mám z toho nervy.
A ako som o tom mal vedieť pri kúpe? Veď XE7 som kúpil v podstate len kvôli FireDAC. A odrazu taký podraz - nikde nebolo upozornenie na to obmedzenie.

Dočerta! Tak som to hľadal, že som o celú hodinu prešvihol čas na antibiotiká. Ak vám niekto bude tvrdiť, že tu čierny kašeľ nehrozí, tak mu neverte. Už ho mám celý rok :o :'(
Název: Re:FireDAC - FireBird -> embeded/server
Přispěvatel: starous 28-11-2015, 22:17:56
http://www.embt.cz/cs/produkty/324-delphi-10-seattle-professional.html (http://www.embt.cz/cs/produkty/324-delphi-10-seattle-professional.html)

Úplně dole je porovnání jednotlivých edicí Delphi. U verze Professional je u propojení typu klient/server uvedeno volitelně, tedy za příplatek ve formě FireDac Add-On.
Název: Re:FireDAC - FireBird -> embeded/server
Přispěvatel: Daniel_Andrascik 29-11-2015, 12:41:44
Citace
nezkousel jsem, ale nekdo to uspesne pouziva.
Zas všetko robiť od začiatku ??? Rád by som sa už pohol ďalej :D

Hmm, evidentne stale este nemas vporiadku hierarchiu projektu. Je mi jasne ze k tomu sa nedopracujes hned ale az ked chtiac nechtiac budes musiet niekolko porjektov niekolkokrat prerobit od zaciatku. Ale ja som na jednom zo svojich najrozsiahlejsich projektov vymenil napriklad spominany zeoslib za firedac asi za 4 hodiny. Nasledne pretestovanie celeho projektu a odladenie je uz vec druha, to si vyziada viac casu. Ale po 4 hodinach sa mi projekt rozbehol s novym providerom a v zakladoch uz bol funkcny. U niektorych projektov som to robil uz aj viackrat.

Na druhu stranu firedac je o dost komfortnejsi nez zeoslib, ale pouzival som a stale pouzivam aj zeoslib ale skor len v nizsich vrstvach bez datasetov, ved v kope jednoduchych aplikacii a nastrojov je potrebne len sem tam nieco insertnut a sem tam selectnut len jednoduchy zaznam, stlpec, pripadne grid a ten dataset je zbytocne velky kanon.
Název: Re:FireDAC - FireBird -> embeded/server
Přispěvatel: Stanislav Hruška 29-11-2015, 13:50:00
Citace
Hmm, evidentne stale este nemas vporiadku hierarchiu projektu.
Neviem to správne posúdiť. Ale už som toľko krát začínal od začiatku, že už len pomyslenie na to mi vyvoláva husiu kožu :)
FireDAC som si zvolil preto, že je univerzálny. U mňa to znamená, že podporuje FireBird a Access.
Citace
Úplně dole je porovnání jednotlivých edicí Delphi.
Problém bol v tom, že až tam som sa predtým nedostal ;D Moja chyba. Myslím si, že by som sa zachoval rovnako. Akurát by som o tom vedel a počítal s tým od začiatku.

Kúpou XE7 som prijal pravidlo, že budem v minimálnej miere používať komponenty tretích strán. To bola jedna z veľkých prestavieb. Okrem iného som sa zbavoval LMD - hlavne simply panel, ktorý som mal nasypaný všade. Aj preto som zahodil, po veľmi krátkej dobe, FIB plus. Nekúpiš ;)

Nateraz si vystačím so mojim obľúbeným VirtualStringTree a asi 4 editačnými komponentami z JVCL.
Až to bude mať význam, tak ten FireDAC Add-on kúpim. Radšej tak, ako použiť niečo iné.

Z mojej strany Amen. :-X
Název: Re:FireDAC - FireBird -> embeded/server
Přispěvatel: Radek Červinka 30-11-2015, 08:49:52

Na druhu stranu firedac je o dost komfortnejsi nez zeoslib, ale pouzival som a stale pouzivam aj zeoslib ale skor len v nizsich vrstvach bez datasetov, ved v kope jednoduchych aplikacii a nastrojov je potrebne len sem tam nieco insertnut a sem tam selectnut len jednoduchy zaznam, stlpec, pripadne grid a ten dataset je zbytocne velky kanon.

FireDAC je dvojvrstvy, a v prvni vrstve (Phys) nepouziva TDataset - kdysi jsem o tom něco napsal http://delphi.cz/post/FireDAC-z-praxe-3.aspx (http://delphi.cz/post/FireDAC-z-praxe-3.aspx)
Název: Re:FireDAC - FireBird -> embeded/server
Přispěvatel: Daniel_Andrascik 30-11-2015, 23:21:54
Ano radku, ak pouzivam FireDAC tak v podstate len tu Phys vrstvu. Myslim ze som zatial vysie vrstvy FireDACu ani nepouzil. Pred FireDACom som vzdy pouzival len zeos v lowlevel urovni a trosku mi ale ten JDBC pristup u lowlevel vrstvy ZeosLibu (interne znacenej analogicky ako ZDBC) pride mierne sikovnejsi, samozrejme ale za cenu absencie niektorych inych vymozensoti ktore zasa poskytuje FiereDAC, ten je predsa len niekde inde. Ale najviac mi vadi, ze som u FireDACu u tej Phys vrstvy neprisiel na to ako "fetchovat" vysledok SELECTu riadok po riadku. Proste v tej Phys vrstve po vykonani riadku vid. tvoj odkaz

Kód: [Vybrat]
oCmd.Fetch(oTab);
sa vzdy naplni objekt oTab vsetkymi datami ktore SELECT vybral. Nural som sa v utrobach firedacu hodne dlho a nenasiel som ziadnu schodnu cestu ako sa k tomu u Phys vrstvy dopracovat. JDBC pristup zase naopak umoznuje ziskavanie dat jedine "fetchovanim" riadok po riadku. No proste kazdy inac. Tak clovek si zvykne, ale hlavne ked zeos resp. v sucastnosti Phys FireDAC vyuzivam ako medzivrstvu u ORM tak mi torsku vadi ze najprv sa mi natiahnu vsetky data do objektu TADDatSTable, nasledne ho prechadzam pomocou cyklu for a plnim tymyto datami ORM objekty tak sa mi vlastne zdvojnasubuje vyuzitie pamate v podstate duplicitnymi datami, ktore sa uvolnia az na zaver ked na konci plnenia zrusim TADDatSTable objekt. To fetchovanie riadok po riadku je predsa len elegantnejsie, ale tak zase ORM sa nepouziva bezne k tomu aby sa SELECTOVALi statisice riadkov tak mi to chvilkove duplicitne vyuzitie pamate na strane klienta az tak nevadi. Je to len taka kozmeticka zalezitost, ale vies ako, my programatori byvame casto perfekcionalisti, a na taketo kozmeticke nedostatky neradi pristupujeme.

Tiez mi vadilo ze sa k jednotlivym fieldom objektu TADDatSTable dalo pristupovat len cez varianty a nie tou typickou konstrukciou ako napr.

Kód: [Vybrat]
Resultset.Row[0].Field[0].AsInteger;
Resultset.Row[0].Field[1].AsFloat;
Resultset.Row[0].Field[2].AsString;


a podobne. Ale toto som si narozdiel od "fetchovania" riadkov zo zdrojakov FireDACu vytiahol a upravil ku svojej spokojnosti, ale to je zasa len o tej kozmetike a niekedy zbytocnom perfekcionalizme
Název: Re:FireDAC - FireBird -> embeded/server
Přispěvatel: Radek Červinka 01-12-2015, 07:56:03

Tiez mi vadilo ze sa k jednotlivym fieldom objektu TADDatSTable dalo pristupovat len cez varianty a nie tou typickou konstrukciou ako napr.

Kód: [Vybrat]
Resultset.Row[0].Field[0].AsInteger;
Resultset.Row[0].Field[1].AsFloat;
Resultset.Row[0].Field[2].AsString;


a podobne. Ale toto som si narozdiel od "fetchovania" riadkov zo zdrojakov FireDACu vytiahol a upravil ku svojej spokojnosti, ale to je zasa len o tej kozmetike a niekedy zbytocnom perfekcionalizme

Tady by se s uspechem dal pouzit class helper ne? A mel by jsi to bez zasahovani do zdrojaku.
Název: Re:FireDAC - FireBird -> embeded/server
Přispěvatel: Daniel_Andrascik 01-12-2015, 09:41:27
ano dal ;)