Avatar billede rozh Nybegynder
17. april 2006 - 18:42 Der er 4 kommentarer og
1 løsning

Kommunikation mellem Delphi og MySQL

Kære alle !!

Jeg har nu i ca to år benyttet mig af Scibits MyComponents til at kontakte MySQL fra Delphi. Da jeg bruger dem i kommercielt henseende registrede jeg komponenterne i sin tid, og betalte 100 USD til Scibit.

Nu har jeg besluttet mig at give disse komponenter op af følgende grunde:
1- Jeg har selv fundet adskillelige bugs. Jeg stoler ikke længere på disse komponenter
2- Mens jeg har ledt efter bugsene er jeg kommet til at opdage, at der er meget meget overhead på disse komponenter. Jeg har lavet benchmarks og fundet at komponenterne er flaskehalsen i mit program.
3- De er ikke threadsafe som der påstås. Jeg får en meddelelse om accesviolation (tror det er violation i adgang til libmysql.dll er dog ikke sikker)
4- Har nu i 6 måneder haft et problem med at miste forbindelse til serveren engang imellem(lost connection during query). Jeg har gjort ALT for at undgå dette, og nu gider jeg ikke mere.

Generelt kan man sige at de i Scibit har en microsoft mentalitet, hvor de imkorporerer for mange "fut-li-hutter" med mange smarte features til nybegyndere og brugervenlighed. Men dette giver enormt overhead og masser af bugs.

Jeg har brug for nogle komponenter som først og fremmest har en stram kerne, og som er lavet af professionelle, hvor der ikke er bugs. Jeg vil gerne have at de skal være hurtige, og de behøves ikke at inkorporere alverdens små features som jeg ikke kommer til at bruge alligevel.

Jeg står med tre valg nu:
1- Delphis's egen DBExpress
2- MyDAC fra Corelab www.crlab.com
3- DAC for MYSQL fra miroOLAP www.microOLAP.com

Problemet med Delphi's dbExpress er at det endnu ikke understøtter nyeste version af MySQL. Desuden bruger denne 2 dll filer, hvilket kunne evt. skabe problemer med accees violation og nedsat hastighed. Ellers er Delphi jo gerne garanti for kvalitet.

Efter denne lange smør vil jeg så gerne spørge om I har erfaring med de to andre komponent pakker ?

Fordelen ved dem er at de tillader direkte adgang til MySQL gennem TCP/IP. Men jeg ved ikke hvor gode de er, hvor meget overhead ? bugs ? etc ?

Umiddelbart kan jeg se at MyDAC understørtter Kylix 3.0, hvilket Dac for MYSQL ikke gør. Så MyDac har en lille fordel hos mig nu.

MEN hvad siger I ?

Med Venlig Hilsen

Rozh
Avatar billede kroning Nybegynder
17. april 2006 - 19:50 #1
Hvis noget skal gøres ordentligt så skal man gøre det selv, jeg er i gang med at opdatere nedenstående til at understøtte MySQL 5, jeg er blevet lidt træt at Borlands dbExpress driver der kun understøtter MySQL op til version 4.0.26. Når det er opdateret vil jeg lave en lille simpel klasse omkring uniten. Jeg benytter dog aldrig DB komponenter så dette bliver der ikke understøttelse for.
Men hvis du selv kender lidt til C sproget så var det måske en mulighed selv at gå igang med en opdatering.
http://www.fichtner.net/delphi/mysql.delphi.phtml
Avatar billede rozh Nybegynder
26. april 2006 - 09:49 #2
Hej Kroning

Jeg er desværre ikke erfaren i C. Og desuden vil det være en stor opgave for mig at gøre det selv. Så det vil ikke give mig i kast med. Jeg har ellers kigget på din side og synes det er et spændende projekt.

vh
Avatar billede rozh Nybegynder
26. april 2006 - 09:53 #3
Da der nu er gået lang tid uden egentlig svar, vil jeg prøve at flytte mit spørgsmaål under MySQL katagorien istedet for.
Avatar billede kroning Nybegynder
26. april 2006 - 10:00 #4
Nogen stor opgave var det nu ikke, jeg har fået det til at virke med MySQL 4.0.26 og MySQL 5.0, det tog under en dag og jeg kender heller ikke så meget til C. Nu mangler jeg så lige lidt tid til at pakke det pænt ind i en klasse. Men det er self. ikke en dbExpress driver jeg har lavet.
Avatar billede rozh Nybegynder
21. oktober 2006 - 00:21 #5
Vil bare lige tilføje at jeg nu synes at CoreLab's componenter er de bedste
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