04. august 2004 - 22:14Der 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.
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
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.
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.
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
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.
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.
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. :)
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
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 ;)
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 ;)
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 ...
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.