Avatar billede donslund Nybegynder
14. januar 2008 - 15:01 Der er 17 kommentarer og
1 løsning

Connecte til access db fra PHP

På en lokalmaskine har jeg, uden problemer, lavet en forbindelse til en access db.

Men da jeg flyttede til et webhotel ude i byen fik jeg denne fejl: Fatal error: Class 'COM' not found in ...

Hvad er det der mangler på den server i forhold til min egen?

Min connection ser således ud:

$db_connection = new COM("ADODB.Connection");

$db_connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=". realpath("db/minDB.mdb") ." ;DefaultDir=". realpath("../");
$db_connection->open($db_connstr);
Avatar billede snappi-v Nybegynder
14. januar 2008 - 15:41 #1
classen COM som du kalder
>> $db_connection = new COM("ADODB.Connection");
Avatar billede donslund Nybegynder
14. januar 2008 - 15:42 #2
Og hvor får jeg den fra? Har ikke slået noget specielt til på min egen maskine.
Avatar billede nielle Nybegynder
14. januar 2008 - 17:55 #3
Er du sikker på at dit webhotel hostes på en Windows server? Com er ikke tilgængelig på Linux.

Læs f.eks. mere her:

http://dk.php.net/manual/en/ref.com.php
Avatar billede donslund Nybegynder
14. januar 2008 - 18:13 #4
Det var der koen lå begravet.

Hvilken connection skal jeg så bruge for at connecte til acces db fra php?
Måske det i virkeligheden er lettest at lade accessen generere en XML fil.
Så længe den skal tilgåes er der ingen behov for at den opdateres.
Avatar billede nielle Nybegynder
14. januar 2008 - 18:18 #5
Muligvis ODBC virker.

Hvis webhotellet har en MySQL database, vil jeg tilråde at du bruger den i stedet of Access.
Avatar billede dkfire Nybegynder
14. januar 2008 - 18:21 #6
Kunne det tænkes at efter som det IKKE er en windows server som du har din side liggende på, at Access database ikke er installeret.
Avatar billede donslund Nybegynder
14. januar 2008 - 18:24 #7
ja, jeg ved godt, at jeg burde bruge MySQL'en. Men her er scenariet.

Til et arrangement findes der en temmelig stor kundedatabase i access. Under kundearragementet skal det være muligt for en række personer at slå op i denne databasen uden at kunne rette i den.
Derfor vil jeg bare lave opslag i access databasen. Ikke lave den om til MySQL. Med mindre der findes en rutine der kan ændre fra access til MySQL sådan uden videre.
Avatar billede yHec Novice
14. januar 2008 - 22:43 #8
En  mulighed for at ændre en access til mysql, er at bruge et odbc-kald fra access til access, også eksporterer den til mysql

jeg ved ikke hvilken Mysql distribution, men ellers kan man hente en odbc-driver på www.mysql.com

7y
Avatar billede nielle Nybegynder
16. januar 2008 - 21:27 #9
Har du fået kigget efter om ODBC var en mulig løsning?
Avatar billede donslund Nybegynder
16. januar 2008 - 21:56 #10
Det er det ikke. Hosting selskabet ville ikke lukke op.

Overvejer enten at køre det lokalt på en windows maskine de få dage det skal bruges eller kovertere data til csv, xml eller noget tredie og så bruge det.

Men mindre du har de vise sten.
Avatar billede yHec Novice
16. januar 2008 - 22:05 #11
Det smarte ville være at konverterer db'en lokalt, og så eksporterer den til dit hotel, fx vhja phpadmin.

Den metode har jeg brugt flere gange, med godt resultat til følge

/y
Avatar billede donslund Nybegynder
16. januar 2008 - 22:16 #12
Og når man så gerne vil lave en sammenkædning af to tabeller i access først?
Avatar billede yHec Novice
16. januar 2008 - 22:26 #13
Du kan enten eksporterer en forespørgsel fra Access til en tabel i mySQL, eller eksporterer begge tabeller til mySQL og lave en JOIN forespørgsel dér.
Avatar billede donslund Nybegynder
16. januar 2008 - 22:33 #14
ja, det er selvfølgelig rigtigt.
Avatar billede donslund Nybegynder
21. januar 2008 - 10:39 #15
Kører det lokalt er blevet besluttet.

Points anyone?
Avatar billede nielle Nybegynder
21. januar 2008 - 19:31 #16
Nej tak :^)
Avatar billede yHec Novice
21. januar 2008 - 21:30 #17
Ingen point. Ellers tak

/y
Avatar billede donslund Nybegynder
22. januar 2008 - 16:49 #18
Så slukker jeg.
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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