Autor Téma: FireDAC - FireBird -> embeded/server  (Přečteno 3934 krát)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4343
  • Karma: 38
    • Verze Delphi: XE7 professional
FireDAC - FireBird -> embeded/server
« kdy: 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
« Poslední změna: 27-11-2015, 11:08:28 od Stanislav Hruška »
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4343
  • Karma: 38
    • Verze Delphi: XE7 professional
Re:FireDAC - FireBird -> embeded/server
« Odpověď #1 kdy: 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.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline pepak

  • Guru
  • *****
  • Příspěvků: 1415
  • Karma: 34
    • Pepak.net
Re:FireDAC - FireBird -> embeded/server
« Odpověď #2 kdy: 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ů.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4343
  • Karma: 38
    • Verze Delphi: XE7 professional
Re:FireDAC - FireBird -> embeded/server
« Odpověď #3 kdy: 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.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Daniel_Andrascik

  • Hrdina
  • ****
  • Příspěvků: 459
  • Karma: 20
    • Verze Delphi: D2007, XE3
Re:FireDAC - FireBird -> embeded/server
« Odpověď #4 kdy: 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.

Offline starous

  • Mladík
  • **
  • Příspěvků: 58
  • Karma: 2
Re:FireDAC - FireBird -> embeded/server
« Odpověď #5 kdy: 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.
 

Offline Ondřej Pokorný

  • Guru
  • *****
  • Příspěvků: 815
  • Karma: 59
    • Verze Delphi: Primárně Lazarus, jinak D7 až aktuální
    • Kluug.net
Re:FireDAC - FireBird -> embeded/server
« Odpověď #6 kdy: 28-11-2015, 20:58:50 »
http://sourceforge.net/projects/zeoslib/

nezkousel jsem, ale nekdo to uspesne pouziva.
Embarcadero Technology Partner

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4343
  • Karma: 38
    • Verze Delphi: XE7 professional
Re:FireDAC - FireBird -> embeded/server
« Odpověď #7 kdy: 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.
« Poslední změna: 28-11-2015, 21:27:51 od Stanislav Hruška »
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Ondřej Pokorný

  • Guru
  • *****
  • Příspěvků: 815
  • Karma: 59
    • Verze Delphi: Primárně Lazarus, jinak D7 až aktuální
    • Kluug.net
Re:FireDAC - FireBird -> embeded/server
« Odpověď #8 kdy: 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 ;))
Embarcadero Technology Partner

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4343
  • Karma: 38
    • Verze Delphi: XE7 professional
Re:FireDAC - FireBird -> embeded/server
« Odpověď #9 kdy: 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 :'(
« Poslední změna: 28-11-2015, 21:56:23 od Stanislav Hruška »
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline starous

  • Mladík
  • **
  • Příspěvků: 58
  • Karma: 2
Re:FireDAC - FireBird -> embeded/server
« Odpověď #10 kdy: 28-11-2015, 22:17:56 »
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.
« Poslední změna: 28-11-2015, 22:20:04 od starous »

Offline Daniel_Andrascik

  • Hrdina
  • ****
  • Příspěvků: 459
  • Karma: 20
    • Verze Delphi: D2007, XE3
Re:FireDAC - FireBird -> embeded/server
« Odpověď #11 kdy: 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.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4343
  • Karma: 38
    • Verze Delphi: XE7 professional
Re:FireDAC - FireBird -> embeded/server
« Odpověď #12 kdy: 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
« Poslední změna: 29-11-2015, 13:51:37 od Stanislav Hruška »
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2317
  • Karma: 102
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:FireDAC - FireBird -> embeded/server
« Odpověď #13 kdy: 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
Embarcadero MVP - Czech republic

Offline Daniel_Andrascik

  • Hrdina
  • ****
  • Příspěvků: 459
  • Karma: 20
    • Verze Delphi: D2007, XE3
Re:FireDAC - FireBird -> embeded/server
« Odpověď #14 kdy: 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
« Poslední změna: 30-11-2015, 23:24:46 od Daniel_Andrascik »

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2317
  • Karma: 102
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:FireDAC - FireBird -> embeded/server
« Odpověď #15 kdy: 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.
Embarcadero MVP - Czech republic

Offline Daniel_Andrascik

  • Hrdina
  • ****
  • Příspěvků: 459
  • Karma: 20
    • Verze Delphi: D2007, XE3
Re:FireDAC - FireBird -> embeded/server
« Odpověď #16 kdy: 01-12-2015, 09:41:27 »
ano dal ;)