Favicon Svethardware.cz  Svět hardware   Fórum Favicon Svetaudia.cz  Svět audia Favicon TVFreak.cz  TV Freak   Fórum Favicon Digimanie.cz  Digimanie   Fórum   Galerie Společnost oXy Online s.r.o.
Zobrazené výsledky: 1 až 3 z 3

Téma: Databáze, aneb rveme do PDA co nejvíce dat. XML? SQL CE? Text? Co je nejvhodnější?

  1. #1
    Pravidelný diskutér
    Registrace
    Jun 2004
    Příspěvků
    159

    Dělám jeden program na WM5 (VB.NET, Compact Framework 2.0), kde potřebuju přístup k offline datům. Databáze má cca 6MB v Accessu, má jednu tabulku s cca 17.000 řádků, 20 fieldů s rozumně krátkými hodnotami v polích (vyjímečně v jednom poli >255 znaků).

    Myslel jsem si, že je to piece of cake, ale trochu jsem si včera na optimalizaci vylámal zuby.

    Začal jsem straight :-) Vyexportoval jsem tabulku z Accessu do XML. Vznikl 8.6MB soubor. To by se ještě dalo +- překousnout, i když v rámci univerzálnosti, pro lidi co nemaj kartu, jsem nechal výchozí app path v \program files.

    A začaly problémy... Zkusil jsem natáhnout XMLko do datasetu pomocí LoadXML. Out Of Memory... Sakra. Tak jinak. Vyexportujeme CSV (4.3MB) a zkusíme natlačit do datasetu pomocí TextDataAdapter (OpenNetCF). Unspecified error. Doprčic :

    Je potřeba použít nějaké robustnější řešení. Nainstaloval jsem jádro SQL CE 2005. A jal se koumat jak je to s těmi *.sdf soubory. Jelikož jsem nenašel žádnej frontend, jak dostat z MDB soubor SDF, napsal jsem si na PPC převodní proceduru, která data četla z XML pomocí XMLTextReaderu a cpala do SDF. Potud vše OK. Jenomže! Jelikož SQLCE podporuje jen unicode datové typy polí (NVARCHAR a NTEXT), sdf soubor rostl do gigantických rozměrů. Po vložení cca 3000 záznamů jsem byl někde na 26MB, což fakt pro PocketPC nejde (

    Samozřejmě bych si mohl napsat vlastní engine, pracující buď nad textem, nebo nad XML (případně s nějakou RLE nebo jednoduchou slovníkovou kompresí). Ale nechci vymejšlet kolo...

    Takže otázka do pléna, jak nejlépe na středně velké databáze (cca 10MB dat) v PocketPC?

    Odpovídat lze po přihlášení

  2. #2
    Občasný diskutér
    Registrace
    Apr 2006
    Příspěvků
    65

    Já to všechno řeším přes XML, všechny tabulky jsem z sql vyexportoval do xml souborů, cca 10 000 řádků, xml soubory mají celkem zhruba 3 MB. V aplikaci se pak dá jednoduše s xml soubory provádět všelijaké akce, jako je mazání, update, přidávání nových vět atd. Nevím jak je to s rychlostí operací vůči sql ale mě to připadá celkem v pohodě.
    Odpovídat lze po přihlášení



  3. #3
    Nováček
    Registrace
    Nov 2006
    Příspěvků
    9

    Na ppc používám jako databázi sqlite. Velikostně je to jiná kategorie, než požaduješ, asi 35MB a je to bez problémů. Texty ukládá jako utf8, takže soubor tak nenarůstá. Generuju jí na PC z XML, které má asi 48MB. Zkoušel jsem i 60MB a taky to bylo provozovatelné. Používám to hlavně pro čtení. Při update asi 2000 řádků to chvíli trvalo. Ale stačilo přesunout měněné sloupce do vlastní méně oindexované tabulky a hned to bylo výrazně lepší. Tam to taky asi naráželo na pomalost sd karty při zápisu.
    To jen pro příklad.
    (hlavní objem dat ve dvou tabulkách 2000 řádků (velké texty) a 70000řádků (kratší texty))
    Odpovídat lze po přihlášení

Podobná témata

  1. HTC P3300 aneb Compact III aneb HTC Artemis aneb XDA Orbit
    Od Falco_ce4you v sekci Zbývající PPC
    Reakcí: 3
    Poslední příspěvek: 09-10-2006, 19:11
  2. Která je z těchto SD karet nejvhodnější pro MDA compact???
    Od atomion_ce4you v sekci Jaké si vybrat / koupit příslušenství?
    Reakcí: 20
    Poslední příspěvek: 04-05-2006, 19:27
  3. Co nejvice volne RAM (ve WM5)
    Od gevalim v sekci Windows Mobile a Windows CE
    Reakcí: 6
    Poslední příspěvek: 09-12-2005, 13:50
  4. Který telefon je nejvhodnější pro používání s HP 4700?
    Od MilanO_ce4you v sekci Zbývající zařízení HP a Compaq
    Reakcí: 23
    Poslední příspěvek: 19-12-2004, 14:04