Autor Téma: FMX Android a FireDAC pripojeniie k MS-SQL  (Přečteno 2543 krát)

Offline dee

  • Plnoletý
  • ***
  • Příspěvků: 119
  • Karma: 1
    • Verze Delphi: D7, XE7
FMX Android a FireDAC pripojeniie k MS-SQL
« kdy: 03-09-2016, 17:07:17 »
Zdar,

Ake su moznosti pripojit Androidovu aplikaciu na MS-SQL idealne cez FireDAC. Ono to FMX je sice pekne ale vela veci tam je /este/ nedoriesenych.  :-\
V tomto pripade je pre Android nedostupny FDPhysMSSQLDriverLink.
Je sanca to neako opist alebo pouzit komponentu 3tej strany ? Idealne aby to fungovalo s FireDACom kedze cela aplikacia je na nom postavena.

Offline chaloup

  • Mladík
  • **
  • Příspěvků: 86
  • Karma: 9
    • Verze Delphi: Delphi 10.2
Re:FMX Android a FireDAC pripojeniie k MS-SQL
« Odpověď #1 kdy: 03-09-2016, 20:08:38 »
čau

podle mě to momentálně nejde, na androidu by měl fungovat https://www.devart.com/unidac/features.html
Mají trial verzi.

Online Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 3081
  • Karma: 29
    • Verze Delphi: XE7 professional
Re:FMX Android a FireDAC pripojeniie k MS-SQL
« Odpověď #2 kdy: 03-09-2016, 21:08:41 »
Ja by som sa opýtal na technickej podpore ako to bude v budúcnosti. Prípadne kedy. A zariadil sa podľa toho. Vyhodiť 300 € nie je zrovna malá suma.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Daniel_Andrascik

  • Hrdina
  • ****
  • Příspěvků: 427
  • Karma: 16
    • Verze Delphi: D2007, XE3
Re:FMX Android a FireDAC pripojeniie k MS-SQL
« Odpověď #3 kdy: 04-09-2016, 11:50:50 »
No Stano, ja dost pochybujem o tom ze nieco take ako urobil devart by sa mohlo oficialne urobit aj u FireDACu. Ide tu o to ze problem je ze vyrobcovia databaz nejako nie su moc ochotny dodavat klientske kniznice aj pre android. Neviem co za tym je ale je to trosku skoda.

DevArt sa hecol a rozanalizoval TCP/IP komunikaciu ktora prebiehna medzi klientskou kniznicou a databazovym serverom a implementoval tuto komunikaciu priamo do svojich komponent. Je to velmi pekny kusok ale vyzaduje si to hodne investicii a usilia. Navyse k tomu treba pridat nemalu podporu, neviem ako casto sa tieto komunikacne protokoly menia a support so vsemoznymi problemami s pripjeniami sa tym padom presuva z tvorcu databazoveho servera na tvorcu DAC komponenty. A to si podla mna Embarcadero/Idera na tricko podla mna nevezme. Oni doteraz stale oficialne prezentuju postup pomocou Datasnap Middle tier servera vid: http://docwiki.embarcadero.com/RADStudio/Berlin//en/Mobile_Tutorial:_Connecting_to_an_Enterprise_Database_from_a_Mobile_Client_(iOS_and_Android)

BTW: DevArt ponuka za lacnejsi peniaz DAC koponentu len pre ten ci onen server, nie je potrebne kupovat cely UniDAC https://www.devart.com/sdac/. Vcelku by som ale chcel pocut skusenosti niekoho kto by masovo a pripadne aj komercne nasadil a prevadzkoval toto priame UniDAC pripojenie s android mobilnych zariadeni priamo na niektory s ponukanych databazovych servrov.

Online Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 3081
  • Karma: 29
    • Verze Delphi: XE7 professional
Re:FMX Android a FireDAC pripojeniie k MS-SQL
« Odpověď #4 kdy: 04-09-2016, 14:41:56 »
Tak som si to zbežne pozrel a súhlasím. A keďže nepredpokladám, že dee ma Enterprise edíciu, tak mu ostáva len ten DevArt.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 1822
  • Karma: 73
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:FMX Android a FireDAC pripojeniie k MS-SQL
« Odpověď #5 kdy: 06-09-2016, 23:17:42 »
No to zase není tak úplně pravda.

MSSQL je z části historický fork Sybase a jako takový používá jako jeden z možných protokolů https://en.wikipedia.org/wiki/Tabular_Data_Stream, který je jakžtakž popsaný.

A jelikož existuje FreeTDS, tak je pro různé platformy dostupná možnost komunikace s MSSQL via ODBC a TDS, což činí i FireDAC např. pro MAC OSX viz  http://docwiki.embarcadero.com/RADStudio/Seattle/en/Connect_to_Microsoft_SQL_Server_%28FireDAC%29, viz. sekce Mac
Takže nic není nemožné.
Embarcadero MVP - Czech republic

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 1822
  • Karma: 73
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:FMX Android a FireDAC pripojeniie k MS-SQL
« Odpověď #6 kdy: 06-09-2016, 23:19:27 »
Embarcadero MVP - Czech republic

Offline Daniel_Andrascik

  • Hrdina
  • ****
  • Příspěvků: 427
  • Karma: 16
    • Verze Delphi: D2007, XE3
Re:FMX Android a FireDAC pripojeniie k MS-SQL
« Odpověď #7 kdy: 07-09-2016, 09:48:44 »
Samozrejme ze nic nie je nemozne. Len som zvazoval ci by sa v sucasnosti z marketingoveho hladiska rozhodli implementovat tuto funkcionalitu priamo do firedacu. Pridanie podpory FireDacu pre nejake kniznice tretich stran ako je napr. uz spomenuty FreeTDS je predsa len ina vec ako priama implementacia protokolu do FireDACu

Offline dee

  • Plnoletý
  • ***
  • Příspěvků: 119
  • Karma: 1
    • Verze Delphi: D7, XE7
Re:FMX Android a FireDAC pripojeniie k MS-SQL
« Odpověď #8 kdy: 08-09-2016, 07:46:50 »
takze ktorou cestou sa vydat ? Idealne by bolo keby existoval ten PhysMSSQLDriverLink (hoci aj nejaka varianta od 3tej strany) aj pre android, kedze aplikaciu mam postavenu na FireDACu.
Celkovo o tychto veciach je tazke nieco najst aj na zahraninych strankach, akoby sa Android apky robili max z SQLite. Nasiel som podobne otazky ako ta moja z pred 2 rokov ale odpoved takisto UniDAC alebo DataSnap. A v Embaracaderu tie 2 roky asi spia a riesia veci typu Internet of things, MongoDB, API pre Amazon Cloud ....  :o

bohuzial vidim ze ani po 10verziach delphi je multiplatformovost stale len marketingovy tah skor ako realita, FMX a FireDAC je pekna myslienka, ale este tomu chyba vela. Ono apliakciu mam zatial viacmenej funkcnu pre Win, ciel je ju prekompilovat a pre android a to vyzera byt nakoniec najvacsi problem. :-[

* Inak u toho DataSnap mi nieje celkom jasne co sa vlastne jedna. Vedel by mi to niekto v kratkosti objasnit, resp. hodil nejaky pouzitelny link ?

Online pf1957

  • Padawan
  • ******
  • Příspěvků: 1964
  • Karma: 101
    • Verze Delphi: D2007, XE3, DX10
Re:FMX Android a FireDAC pripojeniie k MS-SQL
« Odpověď #9 kdy: 08-09-2016, 08:42:11 »
Celkovo o tychto veciach je tazke nieco najst aj na zahraninych strankach, akoby sa Android apky robili max z SQLite.
Coz je pochopitelne, protoze SQLite se pouziva jako lokalni DB a dosud platilo, ze pripojovat se ve WAN z klienta primo na SQL server je nezadouci technika a AFAIK, tak ji krome par pionyru (= skolaku s nedostatecnymi znalostmi) ev. strikacu nikdo nepouzival. A celkem nevidim duvod, proc by tomu u mobilnich zarizeni melo byt jinak.

Proto EMBT nabizi standardni reseni se serverem uprostred tj. klient se ve WAN pripojuje na nejaky server, ktery teprve leze do DB. A Delphi k tomu ma DataSnap.

Citace
bohuzial vidim ze ani po 10verziach delphi je multiplatformovost stale len marketingovy tah skor ako realita,
Ani po 10 letech samozrejme neplati, ze clovek bez dostatecnych multiplatformnich znalosti muze uspesne vyvijet multiplatformni soft... Marketingovy tah mozna spociva v tom vzbudit dojem, ze tomu uz tak neni :-)

Multiplatformnost vzdy znamenala pouziti platformove neutralnich technologii spolecnych pro uvazovane platformy. Tak se zamysli nad tim, jak s tim jde dohromady pouziti MSSQL, ktery je proprietarni a pouze pro platformu Windows (teprve letos na jare se snad objevila nejaka beta pro Linux).
MS zrejme nebude psat DB klienta pro Google a vice versa, zejmena kdyz ma vlastni mobilni platformu.

Pokud chces mermomoci lezt ze site primo do DB, tak pouzij nejaky multiplatformni RDBMS a budes mit po problemech.


Offline PetrH

  • Nováček
  • *
  • Příspěvků: 7
  • Karma: 0
    • Verze Delphi: 10 Seattle
Re:FMX Android a FireDAC pripojeniie k MS-SQL
« Odpověď #10 kdy: 08-09-2016, 10:15:19 »
Problematika přístupu k firemním datům z mobilních zařízení je už celkem stará. Je to především otázka architektury. Variant existuje celá řada. Pokud navrhujete celou infrastrukturu, je to jednodušší. Předpokládám ale, že se připojujete k existujícímu systému a MS SQL je prostě fakt se kterým je třeba se vypořádat. Před tím, než začnete programovat, zvažte také bezpečnost.
1) Přímý přístup:
Devart komponenty nebo přímá komunikace přes TDS Vám umožní komunikovat s DB přímo, ale podnikový DBA z toho nemusí být úplně nadšený. Určitě bych nedoporučoval sestavovat SQL na zařízení, ale omezit se na volání uložených procedur. Ty může spustit jen oprávněná role/uživatel a udělají jen to k čemu byly vytvořeny. Výhodou přímého přístupu k DB je naopak to, že na mobilním zařízení vpodstatě žádná data nejsou.
2) Třetí vrstva
Toto je doména technologie FireDAC. S DB nekomunikujete přímo, ale přes aplikační server. Těch existuje celá řada a pokud chcete použít co nejvíce z existujícího kódu v Delphi nebo C++Builderu přímo Embarcadero nabízí DataSnap nebo RAD Server. Klientské knihovny databáze jsou na serveru a mobilní zařízení se serverem komunikuje např. přes REST/JSON. FireDAC pro Vás zařídí jak enkódování tak dekódování JSOM zpráv.
3) Hybridní řešení
Výhodou i nevýhodou předchozích dvou variant je, že aplikace pracuje se vzdálenými daty. I když je dostupnost sítě stále větší samozřejmostí, mohou existovat situace, kdy potřebujete pracovat takzvaně offline. To znamená mít určitou část dat i na mobilním zařízení. Zde pak můžete použít některou z mobilních databází (SQLite, IBlite apod.) nebo u jednodušších dat například FireDAC MemTable, která umí datasety uložit do souboru. Pak je ale třeba zajistit replikaci/synchronizaci dat s centrální databází. U větších projektů může být ošetření konfliktních stavů docela peklo...

Offline dee

  • Plnoletý
  • ***
  • Příspěvků: 119
  • Karma: 1
    • Verze Delphi: D7, XE7
Re:FMX Android a FireDAC pripojeniie k MS-SQL
« Odpověď #11 kdy: 08-09-2016, 10:17:52 »
MS zrejme nebude psat DB klienta pro Google a vice versa, zejmena kdyz ma vlastni mobilni platformu.

Pokud chces mermomoci lezt ze site primo do DB, tak pouzij nejaky multiplatformni RDBMS a budes mit po problemech.

MS pravdepodobne nie, ale Embaracadero ktore predava FireDAC spolu z Delphi za pomerne velky $$$ by hadam malo hlavne ked tvrdia nieco taketo:

Databázový balíček FireDAC (prodávaný odděleně) rozšiřuje databázovou propojitelnost aplikací vytvořených v Delphi Professional. Obsahuje mocnou univerzální architekturu dovolující aplikacím přímý přístup k databázím Oracle, SQL Server, InterBase, DB2, Firebird, SQLite, MySQL, PostgreSQL, SQL Anywhere, Advantage DB, MongoDB, Access, Informix, DataSnap a dalším.

Mobilní balíček (prodávaný odděleně) dovolí vývojářům vizuálně vytvářet mobilní aplikace pro Android a iOS. Své znalosti Delphi a svůj zdrojový kód Delphi s ním můžete využít pro tvorbu výkonných a bezpečných, skutečně nativních kompilovaných aplikací pro prostředí mobilních zařízení s Android a iOS včetně tabletů a telefonů Android, stejně tak jako iPhone a iPad – a to z jediného zdrojového kódu.


Takze ten datasnap vlastne znamena samostatnu aplikaciu na serveri ktora tvoi akesi rozhranie, co by teda znamenalo okrem db servera vlastnit aj win server edition kde ten datasnap bude bezat ... co by vvyrazne predrazilo cely projekt


Offline dee

  • Plnoletý
  • ***
  • Příspěvků: 119
  • Karma: 1
    • Verze Delphi: D7, XE7
Re:FMX Android a FireDAC pripojeniie k MS-SQL
« Odpověď #12 kdy: 08-09-2016, 10:24:29 »
Problematika přístupu k firemním datům z mobilních zařízení je už celkem stará. Je to především otázka architektury. Variant existuje celá řada. Pokud navrhujete celou infrastrukturu, je to jednodušší. Předpokládám ale, že se připojujete k existujícímu systému a MS SQL je prostě fakt se kterým je třeba se vypořádat. Před tím, než začnete programovat, zvažte také bezpečnost.

Ide o novy projekt ako databazovy server sa pouziva Microsoft Azure SQL co je cenovo prijatelne riesenie, hlavne nevyzaduje nejaku starostlivost, vykon a kapacita sa da kedykolvek navysit podla potreby.

Ano funkcionalita ohladne spracovania dat je prenesena na DB server, aplikacia komunikuje zo serverom cez volanie Stored Procedur kde dostane rovno hotovy dataset. V zasade cast naprogramovana v delphi ma na starosti ciste len zobrazovanie, validaciu, a tie GUI vychytavky zaujimave pre pouzivatela.

Win verzia je viacmenej hotova teraz je potrebne prekompilovat aplikaciu do androidu kedze ide o uzivatelsky zaujimavu platformu.

Offline PetrH

  • Nováček
  • *
  • Příspěvků: 7
  • Karma: 0
    • Verze Delphi: 10 Seattle
Re:FMX Android a FireDAC pripojeniie k MS-SQL
« Odpověď #13 kdy: 08-09-2016, 10:34:16 »
S MS Azure nemám praktickou zkušenost, ale myslím, že TableStorage je možné mapovat přes REST. Teoreticky by se tak dal FireDAC použít i bez DataSnapu. Nicméně v nové verzi Delphi/C++Builderu je plánována pro DataSnap a RAD Server portace na Linux. Tím by náklady na serverový operační systém odpadly.

Online pf1957

  • Padawan
  • ******
  • Příspěvků: 1964
  • Karma: 101
    • Verze Delphi: D2007, XE3, DX10
Re:FMX Android a FireDAC pripojeniie k MS-SQL
« Odpověď #14 kdy: 08-09-2016, 11:04:06 »
Databázový balíček FireDAC [/b](prodávaný odděleně) rozšiřuje databázovou propojitelnost aplikací vytvořených v Delphi Professional.
Me prijde jako samozrejme, ze DB connectivita nejakeho aplikacniho frameworku je abstrakci vlastnosti ruznych DB klientu, jejichz puvodcem je zpravidla vyrobce RDMBS a ktere museji byt na pocitaci nainstalovany pred tim, nez se da nejaka DB connectivita v aplikaci pouzit. A ten vycet RDBMS, co jsi posilal, je jen seznamem takovych DB klientu, na ktere se umi pripojit...

A rekl bych, ze kazdy, kdo je pri smyslech a nejde mu o zivot, se do hacknuti proprietarniho protokolu a API nepusti. At uz z duvodu pravnich nebo technickych.

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 1822
  • Karma: 73
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:FMX Android a FireDAC pripojeniie k MS-SQL
« Odpověď #15 kdy: 08-09-2016, 21:55:02 »
Coz je pochopitelne, protoze SQLite se pouziva jako lokalni DB a dosud platilo, ze pripojovat se ve WAN z klienta primo na SQL server je nezadouci technika a AFAIK, tak ji krome par pionyru (= skolaku s nedostatecnymi znalostmi) ev. strikacu nikdo nepouzival.

Hmm, nemohu se rozhodnout zda jsem víc školák nebo stříkač.

Zajímavé je, že např. Firebird se snažil výrazně optimalizovat protokol pro práci s WAN (nebo VPN) ohledně latence a kumulování příkazů http://www.firebirdnews.org/firebird-protocol-and-latency/. Ale nevím proč to dělá, když to používají jen školáci.
Embarcadero MVP - Czech republic

Online pf1957

  • Padawan
  • ******
  • Příspěvků: 1964
  • Karma: 101
    • Verze Delphi: D2007, XE3, DX10
Re:FMX Android a FireDAC pripojeniie k MS-SQL
« Odpověď #16 kdy: 09-09-2016, 07:50:49 »
Ale nevím proč to dělá, když to používají jen školáci.
Protoze puvodni protokol ma prilis mnoho round-tripu a to pri pomale siti vadi. A nejen pionyrum, ale i IPSec tunelovani...

 

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

Upozornění: do tohoto tématu bylo naposledy přispěno před 120 dny.
Zvažte prosím založení nového tématu.

Jméno: E-mail:
Ověření:
Datový typ v Delphi, který má True a False: