Autor Téma: FireDAC/SQLite, čo stratím ak použijem Dynamic linking  (Přečteno 1262 krát)

Offline miroB

  • Hrdina
  • ****
  • Příspěvků: 400
  • Karma: 16
    • Verze Delphi: D1,2,3,4,7,2005,2009, XE8,S,B,T10.2.2 Pro
Excellent
Rated 1 time
FireDAC (Tokyo - static linking) poskytuje binárne kódy pre 3 roky starú verziu SQLite. ( 3.9.2 z 02. 11. 2015). Nová verzia SQLite je 3.26.0 z decembra 2018.
Tu som si prečítal: http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Connect_to_SQLite_database_(FireDAC), že dynamic linking neumožňuje "SQLite database encryption".
Ak teda oželiem:
1. spomenuté šifrovanie
a fakt, že
2. treba sqlite3.dll nahrať do adresára exe, alebo inej cesty, ktorá je systému známa

o aké ďalšie prípadné výhody prichádzam?
Pýtam sa preto, že behom tých troch rokov, čo FireDAC nejak neinovuje binary súbory pre statické linkovanie o nové verzie, SQLite odstránila rôzne chyby a dostala priaznivé nové vlastnosti.
« Poslední změna: 25-01-2019, 18:40:33 od miroB »

Offline Delfin

  • Padawan
  • ******
  • Příspěvků: 1646
  • Karma: 65
  • SW konzultant
    • Verze Delphi: 2009, Tokyo
Re:FireDAC/SQLite, čo stratím ak použijem Dynamic linking
« Odpověď #1 kdy: 26-01-2019, 05:16:10 »
o aké ďalšie prípadné výhody prichádzam?

Je toho prehrse (jak bylo kdysi zmineno v dile Simpsons pri navsteve Velké Britanie). Viz. Release History.

Pýtam sa preto, že behom tých troch rokov, čo FireDAC nejak neinovuje binary súbory pre statické linkovanie o nové verzie, SQLite odstránila rôzne chyby a dostala priaznivé nové vlastnosti.

Co se tyce konzumace prilozeneho "object souboru" *.obj", tim bych se bez realnych duvodu nezabyval. Pokud pouzijes staticke linkovani (*.obj vygenerovany napr. MSVC by mel byt konzumovatelny alespon od verze Delphi XE2), ziskas tim snad o instrukci vyssi rychlost. Osobne jsem ovsem zastancem projektu jenz nabizi modulovost, coz SQLite umoznuje cimz bych smeroval k pouziti dynamickeho vyuziti DLL.
« Poslední změna: 26-01-2019, 05:21:45 od Delfin »
I'm a soldier, so don't panic! I know the underground! I like WTFPL license! No more Google, go duck, go!

Offline miroB

  • Hrdina
  • ****
  • Příspěvků: 400
  • Karma: 16
    • Verze Delphi: D1,2,3,4,7,2005,2009, XE8,S,B,T10.2.2 Pro
Re:FireDAC/SQLite, čo stratím ak použijem Dynamic linking
« Odpověď #2 kdy: 27-01-2019, 14:00:07 »
Zrejme som postavil otázku nejednoznačne.
Práveže inklinujem k využitiu dll. Z dôvodov opráv v dll a aj pre nové "Features"
Mnohé z nich sú zaujímavé.
Naopak, binary od FireDAC sú až nezodpovedne staré. (Hovorím o tých z Delphi Tokyo)

Ak pri využití dll, stratím iba:
1. možnosť šifrovania a
2. o máličko stratím aj na rýchlosti.
To veľmi rád oželiem.

Dôležité sú UDF. Tie zjavne fungujú aj v prípade dll.
Ďakujem.
« Poslední změna: 27-01-2019, 14:05:04 od miroB »

Offline Delfin

  • Padawan
  • ******
  • Příspěvků: 1646
  • Karma: 65
  • SW konzultant
    • Verze Delphi: 2009, Tokyo
Re:FireDAC/SQLite, čo stratím ak použijem Dynamic linking
« Odpověď #3 kdy: 28-01-2019, 16:23:25 »
O to sifrovani prijit nemusis. Jen je treba SQLite knihovnu buildovat s SQLite Encryption Extension (byt je durazne doporuceno pouzit pro sifrovani staticke linkovani). FireDAC se tak ci tak snazi nacist adresu funkce sqlite3_key a pokud ji najde, pak ji i pro sifrovani pouzije.

Rozdilem rychlosti volani funkci staticky ci dynamicky linkovane knihovny bych se bezduvodne nezabyval.
I'm a soldier, so don't panic! I know the underground! I like WTFPL license! No more Google, go duck, go!

Offline miroB

  • Hrdina
  • ****
  • Příspěvků: 400
  • Karma: 16
    • Verze Delphi: D1,2,3,4,7,2005,2009, XE8,S,B,T10.2.2 Pro
Re:FireDAC/SQLite, čo stratím ak použijem Dynamic linking
« Odpověď #4 kdy: 28-01-2019, 20:40:44 »
Zatial sifrovanie nepotrebujem.
Mozno neskor. Pripadne na urcite ulohy pouzijem staru verziu SQLite, s binary FireDAC (verziu 3.9.2 z roku 2015)
Pozeram odporuceny odkaz. Tam sa pise, ze SEE je licencovane. Teda treba platit jednorazovy poplatok. Tak az v pripade potreby, uvidime..

Offline Delfin

  • Padawan
  • ******
  • Příspěvků: 1646
  • Karma: 65
  • SW konzultant
    • Verze Delphi: 2009, Tokyo
Re:FireDAC/SQLite, čo stratím ak použijem Dynamic linking
« Odpověď #5 kdy: 28-01-2019, 21:16:02 »
Zatial sifrovanie nepotrebujem.
Mozno neskor. Pripadne na urcite ulohy pouzijem staru verziu SQLite, s binary FireDAC (verziu 3.9.2 z roku 2015)
Pozeram odporuceny odkaz. Tam sa pise, ze SEE je licencovane. Teda treba platit jednorazovy poplatok. Tak az v pripade potreby, uvidime..

Je to jedna z (pomerne drahych moznosti). FireDAC pouziva SQLCipher (viz. modul FireDAC.Phys.SQLiteCli.pas).
I'm a soldier, so don't panic! I know the underground! I like WTFPL license! No more Google, go duck, go!

Offline Daniel_Andrascik

  • Hrdina
  • ****
  • Příspěvků: 459
  • Karma: 19
    • Verze Delphi: D2007, XE3
Re:FireDAC/SQLite, čo stratím ak použijem Dynamic linking
« Odpověď #6 kdy: 16-02-2019, 21:38:14 »
A nie je mozne si zohnat/skompilovat novsi OBJ subor od sqlite a nahradit ten povodny?

Priznam sa ze pri jednoduchsich projektikoch pouzivam radsej staticky linkovanu sqlite. Uz sa mi totiz raz stalo ze som potreboval pouzit nejaky svoj starsi nastroj a dajak som si nevsimol pri tom ako som s nim narabal ze nemal v adresari prilozenu sqlite.dll. A programik si nacital nejaku prehystoricku dllku asi z windows adresara a tak neskutocne a nezmyslene mi blbol, ze som do neho musel vliest a zacat ho debugovat. N

No proste kedze to bol starsi projekt a kym som sa v nom zorientoval a prisiel som na to ze taha neviem aku verziu sqlitu tak som stratil pol dna. Nakoniec stacilo nahrat najnovsiu dll do adresara a apka zacala spravne fungovat bez akychkolvek uprav. Proste pri jednoduchych a nie casto pouzivanych apkach uprednostnim staticke linkovanie vsetkeho mozneho, pretoze clovek nikdy nevie na co zabudne...

Offline Delfin

  • Padawan
  • ******
  • Příspěvků: 1646
  • Karma: 65
  • SW konzultant
    • Verze Delphi: 2009, Tokyo
Re:FireDAC/SQLite, čo stratím ak použijem Dynamic linking
« Odpověď #7 kdy: 17-02-2019, 07:55:34 »
A nie je mozne si zohnat/skompilovat novsi OBJ subor od sqlite a nahradit ten povodny?

Ten bych radeji neshanel (vis jak jsou ty internety nebezpecne) :) Jinak ano, pokud ten .obj soubor bude mit vsechny exporty jenz FireDAC importuje (viz. FireDAC.Phys.SQLiteCli) a zaroven obsahuje minimalne vsechna rozsireni jenz FireDAC (resp. aplikace jenz jej konuzmuje) pouziva, nemel by byt jediny problem. Ostatne, podobna pravidla je treba dodrzet i pri buildovani dynamicky linkovaneho SQLite.
I'm a soldier, so don't panic! I know the underground! I like WTFPL license! No more Google, go duck, go!

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 2441
  • Karma: 131
    • Verze Delphi: D2007, XE3, DX10
Re:FireDAC/SQLite, čo stratím ak použijem Dynamic linking
« Odpověď #8 kdy: 17-02-2019, 08:43:23 »
A programik si nacital nejaku prehystoricku dllku asi z windows adresara a tak neskutocne a nezmyslene mi blbol,
Tak tomu se obvykle celi tak, ze aplikace po spusteni zkontroluje:
  1) pozadovanou verzi RDMBS
  2) pozadovanou verzi schematu DB

Verzi RDBMS lze nejak vyloudit skoro na kazdem RDBMS, s tou verzi schematu je to horsi - tam to chce vetsinou nejakou invenci a tool na strane vyvojare.
Ale zase vyvojar vetsinou nezacina kazdou aplikaci na zelene louce, takze si casem vytvori svuj framework, ktery odpovida dane problemove oblasti a pak se to udela jednou a jsou tim vybaveny vsechny aplikace.


Offline Delfin

  • Padawan
  • ******
  • Příspěvků: 1646
  • Karma: 65
  • SW konzultant
    • Verze Delphi: 2009, Tokyo
Re:FireDAC/SQLite, čo stratím ak použijem Dynamic linking
« Odpověď #9 kdy: 17-02-2019, 10:19:05 »
A programik si nacital nejaku prehystoricku dllku asi z windows adresara a tak neskutocne a nezmyslene mi blbol,
Tak tomu se obvykle celi tak, ze aplikace po spusteni zkontroluje:
  1) pozadovanou verzi RDMBS
  2) pozadovanou verzi schematu DB

Mozna bych pro SQLite jeste rozsiril:

  1) Pozadovana verze (splnujici kompatibilitu dane databaze)
  2) Existence vsech pouzitych vestavenych modulu a externich rozsireni
  3) Verze schematu databaze (k niz bude s danou verzi mozne se pripojit[1] a s niz aplikace bude moci pracovat)


[1] Pokud bude databaze enkryptovana a nebude existovat dane rozsireni, pripojeni mozne nebude
« Poslední změna: 17-02-2019, 10:23:58 od Delfin »
I'm a soldier, so don't panic! I know the underground! I like WTFPL license! No more Google, go duck, go!

 

S rychlou odpovědí můžete používat BB kódy a emotikony jako v běžném okně pro odpověď, ale daleko rychleji.

Jméno: E-mail:
Ověření:
Křestní jméno zpěváka Gotta: