Page 1 of 2 1 2 LastLast
Results 1 to 15 of 20

Thread: Database in applicatie compilen

  1. #1

    Question Database in applicatie compilen

    Momenteel doe ik wat onderzoek voor een applicatie die ik samen met wat medestudenten als een soort van stage willen maken.
    Maar éé van de eisen is dat de achterliggende database in de executable gecompiled moet worden (is verplicht gesteld door de database leverancier, lang verhaal enzo...).

    Nu vraag ik me af: is dat uberhaupt wel mogelijk en zo ja: waar vind ik hier meer informatie over? Bij voorbaat mijn grote dank

    Ow nog wat: Delphi 6, database nog nader te kiezen

  2. #2
    5th member of nldelphi
    Join Date
    Mar 2001
    Location
    Alkmaar
    Posts
    2,127
    Pieter,

    Nu weet ik niet of jij daar ook de tabellen mee bedoelt ?
    maar zo niet dan is mischien flashfiller een database voor je
    (jaja daar heb je hem weer met z'n flashfiller )

    Deze heeft de mogenlijkheid om een embedded server mee te bakken in de
    executable, dit wil dus alleen zeggen dat de database engine wordt meegebakken
    je behoud dus nog steeds externe tabellen.

    Tegenwoordig (al een jaar of zo) bestaat Flashfiller 2.xx deze ondersteund nu ook
    mondjesmaat SQL.

    Kijk even bij de links sectie voor Flashfiller van TurboPower Software, of zoek
    even op de site met behulp van de zoek functie naar Client Server.

    Mvg,

    Richard
    RLD

  3. #3
    Ik bedoel inderdaad de complete database, dus inclusief tabellen, data etc...

    Database is trouwens een ruim begrip natuurlijk, het moet in ieder geval te doorzoeken zijn...

  4. #4
    Volgens mij is het wel mogelijk. Je kan data opslaan in recource files. Net zoals je bvb icoontjes e.d. daarin kan opslaan.
    Heb net zoiets gelezen in Delphi Informant.
    Maar ik weet niet of je de database-engine zelf ook mee kan opslaan. Maar als die leverancier dat eist, zal dat ook wel kunnen denk ik ...

  5. #5
    Hoe groot is die database? Een exe van enkele tientallen MB is niet echt handig. Een truc die je soms ziet is dat de tabellen in memory staan en worden geladen en gesaved in de resource.

    Als het een opzoektabel is, die nooit hoeft te wijzigen (dus niet echt een database), dan zou ik een tooltje maken, die de data zet in een of ander structuur in een aparte unit. Die compileer je dan mee met je exe.

    ALs de leverancier zijn data alleen wil beschermen, dan zijn beide methoden niet echt handig, met een resource editor of een delphi decompiler lees je ze zo uit.

    Gaat het erom dat de leverancier zijn data wil beschermen, dan zou ik gewoon een database gebruiken die je zelf kiest, maar de data versleuteld opslaan. In dat geval heb je een grote keuze, zoals de BDE, Topaz (dbase files), ADO, Interbase, Flashfiler en waarschijnlijk nog honderdduized andere.

    Benno

  6. #6
    Senior Member
    Join Date
    Jan 2002
    Location
    Nieuwlande, Nederland
    Posts
    612
    Voor databasetechniek zou je ook kommagescheiden tekst kunnen gebruiken. Er zijn meerdere componenten die dat prima ondersteunen.

    KbmMemtable is daar een van en die werkt best goed en compileert ook onder Delphi 6.

    Een andere zou tdbf kunnen zijn (ik weet alleen niet meer zeker of ie in Delphi 6 compileert).

    Bij KbmMemtable is bovendien een soort van SQL component te vinden.

    Wat je hiermee in elk geval zeker weet is dat je database engine in de executable zit, compleet met de structuur.

  7. #7
    Hoe groot is die database? Een exe van enkele tientallen MB is niet echt handig. Een truc die je soms ziet is dat de tabellen in memory staan en worden geladen en gesaved in de resource.
    Ongeveer 620000 records (geen typevaut ).

    Als het een opzoektabel is, die nooit hoeft te wijzigen (dus niet echt een database), dan zou ik een tooltje maken, die de data zet in een of ander structuur in een aparte unit. Die compileer je dan mee met je exe.
    Het is alleen opzoeken, maar de database moet wel iedere maand up-to-date gemaakt worden. Maar dat kan ook "gewoon" met een patch filetje of iets dergelijks.

    ALs de leverancier zijn data alleen wil beschermen, dan zijn beide methoden niet echt handig, met een resource editor of een delphi decompiler lees je ze zo uit.

    Gaat het erom dat de leverancier zijn data wil beschermen, dan zou ik gewoon een database gebruiken die je zelf kiest, maar de data versleuteld opslaan. In dat geval heb je een grote keuze, zoals de BDE, Topaz (dbase files), ADO, Interbase, Flashfiler en waarschijnlijk nog honderdduized andere.
    Hmmm, tja, ik dacht zelf ook al dat dit een betere optie zou zijn, maar dan moet de database echt wel transparant zijn voor de gebruiker: hij moet niet ineens met 80 schermen om zijn oren gemept worden omdat ik toevallig databaseserver X gebruik...

  8. #8
    Originally posted by Teo
    Een heel verhaal over KbmMemtable
    Ik zal daar morgen of van het weekend eens naar gaan kijken...

  9. #9
    Wat dacht je dan van een DLL waar je dat inpropt, en in memory in een structuur duwt? Alhoewel, niet zo handig als je record bv 1K is. Hoe groot is die database in data, hoe groot zijn de records?

    Je zou gewoon dbase files kunnen gebruiken, die kun je heel klein zippen. Dan maak je in runtime gewoon de indexen aan (bij de eerste keer opstarten na een update). Als je Topaz gebruikt, heb je niks extra nodig in je exe file, dat compileer je er gewoon in. De gebruiker hoeft verder ook niets te installeren, alleen het pad moet bekend zijn naar de database. Als jij er bv voor zorgt dat het pad altijd relatief is t.o.v. de exe, bv \DATA\ dan hoef je niet eens een ini in te lezen.

    Benno

  10. #10
    Maar met 6,2 miljoen regels zal dat een flinke tabel worden. Ook indexeren zal even duren en schijfruimte vragen.
    Marcel

  11. #11
    Marcel heb un vraagje .. snapput niet


    Pieter:
    Ongeveer 620000 records (geen typevaut ).
    Marcel:
    Maar met 6,2 miljoen regels zal dat een flinke tabel worden. Ook indexeren zal even duren en schijfruimte vragen.
    nu ik:
    620.000 , het enige dat ik heb veranderd is 1 punt .. en ik kom niet verder dan 620 Duizend..??

    Heb ik iets gemist of sloegen de getallen niet op elkaar

  12. #12
    Het idee is momenteel om de data in een binaire zoekboom te "gooien" zodat we snel kunnen zoeken zonder dat we indexen etc etc nodig hebben.

    En het zijn inderdaad zeshonderdtwintigduizend records en geen zeskommatweemiljoen

  13. #13
    Senior Member
    Join Date
    Jan 2002
    Location
    Nieuwlande, Nederland
    Posts
    612
    Voor snel zoeken waren indexen juist bedoeld, lijkt mij... Maar ik heb er geen verstand van.

    Met 620 duizend records vraag ik me wel af of ik met Memtable wel een bruikbare optie heb aangedragen...

  14. #14
    Marcel heb un vraagje .. snapput niet
    Eeeh, heel simpel: ik kan niet tellen.
    Marcel

  15. #15
    Originally posted by Marcel
    Eeeh, heel simpel: ik kan niet tellen.
    En je woont ook al in het verkeerde gat Ga toch in "ut Fèr" wonen, doe ik ook

    Anyways: iemand anders nog wat suggesties/ideeën ofzo?

Page 1 of 2 1 2 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •