Avatar billede shemeri Praktikant
04. august 2011 - 13:43 Der er 7 kommentarer og
2 løsninger

Embedded Database

Hej,

Jeg er igang med at udvikle en lille program der tager imod indtastninger af forskellige ting, som skal gemmes i en database. Der, vælger man om man vil have en online database, hvor jeg bruger mysql, eller en embedded database (offline).

Her skal jeg vælge en god og gratis embedded database. Kigget på Firebird, og SQLLite.

Har problemer med SQLLite med 32bit og 64bit. Jeg kunne godt få den til at virke på en 32bit windows, men ikke på 64bit. Har prøvet med at tilføje begge dll filer som references, 32bit og 64bit, så hvis programmet installeres på en 32bit maskine, bruge programmet 32bit dll, ellers 64bit dll, men det virkede ikke.

Hvordan kan jeg gør det? Så er det muligt at installere programmet på både 32bit og 64bit? Programmet er lavet til 32bit x86

Mit andet spørgsmål er, om der er en gratis embedded database hvor jeg kan gemme objekter? Altså en liste af Kunder objekter og hentning af objekter?
Avatar billede janus_007 Nybegynder
04. august 2011 - 20:03 #1
Hvor meget data taler vi om her?

Hvorfor ikke bare gemme det som Xml?

Dine kundeobjekter kan du serialisere og gemme ligeledes. Dvs. det hele er gemt som Xml.

Hvis du er nervøs for den umiddelbare cleartext så kan du lave det om til binary inden du gemmer.
Avatar billede shemeri Praktikant
04. august 2011 - 23:25 #2
Ja, det gør jeg faktisk også.
Jeg serialiserer objekter og gemme det. Men hvor mange kan den indeholder før den bliver ikke optimalt?

Jeg har også tænkt over at gemme den på separate filer som dels over måneder.

Men hvad er fordele og ulempe ved det? Det er faktisk en beslutning jeg vil gerne tage men ved ikke helt hvad er bedst.

Det tales om ca. 10-15 objekter om dagen som indeholder kunder oplysninger.
Avatar billede arne_v Ekspert
05. august 2011 - 00:24 #3
Hvis du vil undgaa bitness problemer, saa skal du have fat i en ren .NET database.

SQLit findes som ren .NET:
  http://code.google.com/p/csharp-sqlite/

(bemaerk at jeg ikke kender kvaliteten af dette produkt)

For en OODBMS loesning i ren .NET kig paa:
  http://www.db4o.com/DownloadNow.aspx  (naerlaes licens regler!!)
Avatar billede arne_v Ekspert
05. august 2011 - 00:25 #4
Ved smaa data maengder og enten enkelt bruger tilgang eller readonly tilgang, saa er XML helt fint.
Avatar billede janus_007 Nybegynder
05. august 2011 - 18:29 #5
Ja Xml virker fint til flere 100 mb :) Dvs. hvis vi antager et kundeobjekt med tilhørende 2 childs, hmm hvad skal vi sige.. .omkring 1kb, så er der virkelig meget beskrivende data.

Lad os sige sølle 100mb / 1kb = omkring 100.000 kundeobjekter :)

Piece of cake at arbejde med 10-15 om dagen.

Hvis du har problemer med xml så brug json, der findes mange gode parsere til json som faktisk arbejder hurtigere end xml.

Vær ikke bekymret for læsninger eller skrivninger, du skal naturligvis kode noget ekstra for skrivning, men det er altså relativt overkommeligt.

Ulemperne ved at gemme i dit eget format, binary, json, xml osv. er jo at du skal kode for at tilgå dit data, men ellers er der ingen hindringer.
Databaser er  naturligvis meget mere end bare end bare tekstfiler; transactionsstyring, datakonsistens, contraints, triggers mv. har man til rådighed, inkl. et querylanguage.
Avatar billede shemeri Praktikant
09. august 2011 - 21:57 #6
Det lyder fint.

Jeg tror jeg starter med serialization af objekter og kigger på databaser senere hvis jeg får brug for det i fremtiden.

Tak til jer begge, janus_007 og arne_v for hjælpen :-)

Vil i svar så dele jeg point?
Avatar billede arne_v Ekspert
09. august 2011 - 22:08 #7
svar fra mig
Avatar billede janus_007 Nybegynder
09. august 2011 - 23:23 #8
svar
Avatar billede shemeri Praktikant
18. august 2011 - 00:24 #9
tak for hjælpen :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester