Avatar billede poull Nybegynder
04. august 2004 - 22:14 Der er 18 kommentarer og
1 løsning

Database valg mm

Der er et enkelt emne inden for Delphi programmering jeg altid har undgået og det er Databaser, men nu har jeg brug for det og skal have lidt råd. Jeg har brugt MySQL via php en del så databaser samt SQL-sætninger er ikke nyt.

Jeg ønsker at benytte en database-type hvor det er muligt at kunne nøjes med at ligge nogle dll'er med og så er ens database ellers blot en fil(eller flere) der bliver gemt. Fx så vil jeg gerne undgå og have en server kørende i baggrunden eller at der skal installeres noget. en mulighed uden at være helt klog på det, tror jeg det der kaldes mySQL Embedded, som er at man blot vedlægger en dll og så har man databasen.

De info jeg har brug for at gemme er blot datatyper som tekst, tal og blob. Jeg har ikke krav til at databasen skal have topydelse, blot at den skal være gratis (eventuelt følge med Delphi 7). Jeg ønsker ikke og være låst til brugen af de DB-visnings komponenter der er i Delphi.

Så jeg vil gerne have råd til hvilken type jeg bør vælge? Og så lige en smule starthjælp inden for den type.
Avatar billede stoney Nybegynder
04. august 2004 - 23:31 #1
Hvis du vil bruge Mysql så brug DBExpress componenterne.

Fra hjælpen

dbExpress is a set of drivers that provide fast access to database information. dbExpress components support cross-platform development because they are also available on Linux. Refer to Using unidirectional datasets for more information about using the dbExpress components.
You can deploy dbExpress applications either as a stand-alone executable file or as an executable file that includes associated dbExpress driver DLLs.

To deploy dbExpress applications as standalone executable files, the dbExpress object files must be statically linked into your executable. You do this by including the following DCUs, located in the lib directory:

Database unit    When to include
dbExpInt    Applications connecting to InterBase databases
dbExpOra    Applications connecting to Oracle databases
dbExpDb2    Applications connecting to DB2 databases
dbExpMy            Applications connecting to MySQL databases
Crtl, MidasLib    Required by dbExpress executables that use client datasets such as TSQLClientDataSet
If you are not deploying a standalone executable, you can deploy associated dbExpress drivers and DataSnap DLLs with your executable. The following table lists the appropriate DLLs and when to include them:

Database DLL    When to deploy
dbexpint.dll    Applications connecting to InterBase databases
dbexpora.dll    Applications connecting to Oracle databases
dbexpdb2.dll.    Applications connecting to DB2 databases
dbexpmy.dll    Applications connecting to MySQL databases
Midas.dll    Required by database applications that use client datasets

Stoney
Avatar billede poull Nybegynder
04. august 2004 - 23:41 #2
Jeg har også læst lidt om at dbExpress var en af mulighederne at benytte MySQL for BDE skulle være uddøende.

Det du poster, betyder det så ikke med andre ord, at dbExpMy skal stå i uses og at dbexpmy.dll skal lægges med programmet?

Kan du, eller en anden, give et kort eksempel på hvor der fx oprettes en tabel og indsættes en enkelt række til en MySQL-database. Altså hvor MySQL er embedded eller hvad man nu siger.
Avatar billede stoney Nybegynder
05. august 2004 - 10:15 #3
DBexpress har intet med BDE at gøre.
Nu bliver jeg i tvivl om du vil connecte til mysql på en server eller lokalt på PC'en

Oprettelse af tabeller og indsættelse/sletning/opdatering af records er alm sql syntaks.

Stoney
Avatar billede poull Nybegynder
05. august 2004 - 10:52 #4
Det jeg også mente va at BDE som jeg ellers har indtryk er det mest brugte valg (eller var), er et alternativ til dbExpress.

Jeg har godt nok en MySQL server kørende lokalt men det er ikke sådan jeg ønsker og kommunimere. Jeg ønsker at kunne lægge mit program og på en anden computer og at det så stadig virker uden at skulle installere en database server. Om det så er muligt MySQL er så dels det jeg spørger om.

Fx så ved jeg at man med Access ikke på den måde behøver at have en server kørende men blot skal have Office installeret. Så lidt i den stil.
Avatar billede stoney Nybegynder
05. august 2004 - 11:01 #5
I din forbindelse til Mysql sætter du bare den ip adresse ind hvor din mysql server
ligger på.

Omkring access behøver du ikke at have office installeret.
Bare du har en .MDB fil.
Access er i øvrigt ikke en rigtig database, stort set bare en flad fil

Stoney
Avatar billede poull Nybegynder
05. august 2004 - 11:08 #6
Såfremt man med MySQL ikke kan undgå og have en rigtig server installeret eller tilgængelig på et netværk, så er det ikek den database jeg ønsker til detet formål. Jeg ønsker netop en sådan lidt flad database som access. Dog måtte det gerne være noget der undersøttede SQL.

Så vidt jeg kan se på mysql.com så har de noget de kaldet mysql embedded og er det ikke at man har mulighed for at lægge database funktionalitet med sit progrma uden at skulle til at installere en server. Med mySQL er der jo den fil der hedder libmysqld.dll og så vidt jeg har forstået er det den der skal bruges der. Men har ikke helt kunne finde rundt i det.
Avatar billede stoney Nybegynder
05. august 2004 - 11:36 #7
Jeg tror ikke jeg forstår dig helt.
Vil du lave en application hvor .exe og databasen skal ligge på samme PC.
Hvis ja ville jeg bruge en Access db, det er hurtigt og simpelt.
Ellers kan jeg flække et eks sammen til dig.

Stoney
Avatar billede poull Nybegynder
05. august 2004 - 11:45 #8
En Access db er jo en fil du bare har med hvori data gemmes. Jeg øsnker det på samme måde (med fx MySQL hvis det kan lade sig gøre). Om der så skal ligges nogle dll filer med mit program for at kunne håndtere denne datafil gør ikek noget, jeg vil bare ikke have at man skal til og installere end server.

"Vil du lave en application hvor .exe og databasen skal ligge på samme PC."
Ikke nok med det, så skal databasen jo ikke være noget der kræver nogen installation. Og netop access er jeg ikke særlig glad for at skulle bruge :) Så jeg søger egenlig en lignende db. :)
Avatar billede stoney Nybegynder
05. august 2004 - 11:49 #9
Vedr. Mysql tror jeg ikke du kan gøre det på denne måde.
Hvis du vil bruge access kræver det ingen installation, kun en .MDB fil

Stoney
Avatar billede poull Nybegynder
05. august 2004 - 11:54 #10
Ok .. kender du nogle alternativer til Access som virker på ca samme måde? Det behøver ikke være kendte databaser :)
Avatar billede stoney Nybegynder
05. august 2004 - 12:01 #11
http://www.tinydb.com/

Vi har applicationer kørende med access db'er på 1 GB uden problemer.

Stoney
Avatar billede poull Nybegynder
05. august 2004 - 12:16 #12
Ok, lader til at jeg baer må prøve Access (da tinydb koster penge og det bare er til et lille privat projekt). Kan du så give en ganske kort intro til brug af access i Delphi? altså lige lidt om komponentvalg, et par gode hints og noget i den stil :D
Avatar billede stoney Nybegynder
05. august 2004 - 12:23 #13
Som sagt vil jeg godt lave et eks til dig, ellers er her den bedste
tutorial jeg kender på ikke mindre en 26 detaljeret kapitler.

http://delphi.about.com/library/weekly/aa010101a.htm

Stoney
Avatar billede poull Nybegynder
05. august 2004 - 12:25 #14
Ok .. jeg kigger lige lidt selv om emnet før du skal bruge tid på det så :) Jeg har også fundet lidt tips på torry om access som jeg lige kigger igennem først. Så er det bedre du bruger din tid på at hjælpe med de første begynder problemer der kommer i stedet or at lave et eksempel der allerede findes ;) Så jeg vender tilbage inden så længe ;)
Avatar billede hinker Nybegynder
05. august 2004 - 20:02 #15
Så vidt jeg husker understøtter Data access componenterne i Delphi 7. XML fil database. Det kunne måske bruges.
Avatar billede poull Nybegynder
30. september 2004 - 14:54 #16
stoney > Jeg fik aldrig sagt tak. Så svar lige og du kan få point. For jeg selv om jeg ikek helt har fået taget mig sammen til at lave projektet fuldt ud, så lærte jeg det jeg ville ;)
Avatar billede stoney Nybegynder
30. september 2004 - 15:00 #17
Takker, nu blev jeg nysgerrig.
Hvilken DB forsøgte du dig med ?

Stoney
Avatar billede poull Nybegynder
30. september 2004 - 15:07 #18
Jeg valgte Access da de andre alternativer jeg prøvede ikke var som jeg regnede med. Fik dig aldrig lige undersøgt sidste kommentar fra hinker angående xml db ...
Avatar billede poull Nybegynder
30. september 2004 - 15:08 #19
Ups, mente dog i stedet for dig :)
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
Kategori
Kurser inden for grundlæggende programmering

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