Toon posts:

Access DB converteren naar MySQL

Pagina: 1
Acties:
  • 338 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik zit met het volgende probleem: ik heb op dit moment een vrij grote Access database die ik wil omzetten naar MySQL.

Nou weet ik dat je in Access dit tabel voor tabel kan doen. Alleen dit is nogal een omvangrijk klusje met 25 tabellen. Daarnaast zal ik vervolgens ook weer alle relaties moeten leggen tussen de tabellen (toch?).

Nou vroeg ik me dus af of er methoden / progjes zijn die in 1 keer de hele database kunnen converteren, inclusief relaties en data.
Iemand een idee...?

Verwijderd

op de php site zijn wel tooltjes te krijgen
om de zooi te converteren.
En anders via een comma-seperated-list exporteren en importeren

Verwijderd

En welke PHP site is dat dan?
En welk tooltje :-)) ?

Vind ik erg interessant namelijk.

www.phpbuilder.com of www.zend.com of nog een andere?

Verwijderd

Topicstarter
Dat van dat tooltje vraag ik me dus ook af... Ik heb heel www.php.net afgezocht maar kon toch echt niets vinden... Maar als iemand een directe link weet, zeer graag!! :) Ik zou 'm erg goed kunnen gebruiken!

Verwijderd

Ik ben niet zo'n held in databasen, maar je zou het op de volgende manier aan kunnen pakken. (eerder gezegd al)
-Maak je mysql database met alle tabellen
-export je accesdatabase per tabel naar een , of | separated list (gewoon textfile)
-maak met php een progje dat die lijst inleest (per regel de variabelen inlezen)
-voeg per regel uit je textfile een entry toe in je mysql database.

Je moet nu wel per tabel iets doen, en ik weet niet of het het handigste is, maar je krijgt het wel voor mekaar uiteindelijk.

Over je relaties: Lees de mysql faq maar eens en welke dingen er allemaal niet in zitten en wat er allemaal mogelijk is. Mysql is gratis en werkt maar voor de helft.

succes!

  • Onno
  • Registratie: Juni 1999
  • Niet online
Bij Borland dev.pakketten zit een tooltje 'datapump', daarmee kun je tabellen uit de ene db naar een andere exporteren, enige voorwaarde is dat beide db's een ODBC of BDE driver hebben. Nou ja, dat is bij Access en MySQL wel zo...

Kun je alles gewoon in een keer doen, zonder moeilijk te doen met allemaal losse comma seperated files enzo. :)

  • Hans
  • Registratie: Juni 1999
  • Niet online
Ja precies, je moet het gewoon via ODBC doen. Installeer MyODBC en knallen!

Verwijderd

Topicstarter
<BLOCKQUOTE><font size=1 face=Verdana, Arial, Helvetica>quote:</font><HR>Op 16 oktober 2000 13:10 schreef Hans het volgende:
Ja precies, je moet het gewoon via ODBC doen. Installeer MyODBC en knallen![/quote]Dat doe ik nu dus al... het probleem is alleen dat je tabel voor tabel exporteert, en dan geen relaties meeneemt. :(

Ik ga trouwens wel ff met dat dat datapump klooien, thanx Onno!

Verwijderd

.

Verwijderd

Het probleem is alleen dat je tabel voor tabel exporteert, en dan geen relaties meeneemt. :(

Dat wordt sowieso nogal moeilijk omdat MySQL geen foreing key constraints ondersteunt.

Verwijderd

<BLOCKQUOTE><font size=1 face=Verdana, Arial, Helvetica>quote:</font><HR>Op 16 oktober 2000 11:40 schreef Trapleuning het volgende:
Mysql is gratis en werkt maar voor de helft.[/quote]Oh? Wat werkt er dan niet?

Dat bepaalde dingen uit de SQL92 standaard (nog) niet geimplementeerd zijn betekent dat het niet werkt? Dan werken er wel meer database produkten niet...

Verwijderd

Transactions ,unions , geneste selects? ik heb zelf geen idee maar dit is wat ik zo'n beetje opgevangen heb op dit forum afgelopen maand. heb mysql vroeger op m'n linux bak wel es aan de praat gehad toen ik nog geen drol van sql wist, maar 'k ben ondertussen toch wel vrij gewent geraakt aan ms-sql , beetje verkeerd wel om dat als 1e te leren, want nu ga ik er vanuit van das "standaard" sql moet overal werken, fout ga je over van mssql naar oracle mag je in eene een aantal query's gaan aanpassen omdat bv inner joins toch niet zo standaard zijn als je dacht

naja soms zit t mee soms zit t tegen, wat doet 't er eigenlijk toe waar je data vandaan komt zolang je 't maar krijgt toch?

--Ray

  • 0siris
  • Registratie: Augustus 2000
  • Laatst online: 03-05 15:44
als je kunt exporteren naar een Oracle SQL formaat, kun je dat het beste doen. (lijkt het meest op wat MySQL gaat slikken) Dan met een teksteditor dat bestandje ff openen en zorgen dat je alleen de CREATE statements overhoudt. Dat kun je dan in een keer, voor mijn part met knippen en plakken, gebruiken voor in je database. Maar idd, MySQL ondersteunt geen foreign keys en dat soort gein.

En die relaties ben je dus gewoon kwijt ja, moet je op een andere manier oplossen...

ach...in een volgend leven lach je er om!


Verwijderd

naja soms zit t mee soms zit t tegen, wat doet 't er eigenlijk toe waar je data vandaan komt zolang je 't maar krijgt toch?

Jup. Je moet altijd rekening houden met afwijkingen van de spec (helaas).

  • bloody
  • Registratie: Juni 1999
  • Laatst online: 07:15

bloody

0.000 KB!!

he er zijn wel degelijk tools!!!

ik heb voor een opdracht op school ook wel wat van die dingen gebruikt. vaak gaat het als volgt:
je moet een stuk vb code runnen in access2k. die maakt er een txt bestand van (INCLUSIEF SQL!!), en die importeer je dan makkelijk in mysql.

ow ff wachten, zal ff opzoeken...

tekst uit verslag:<BLOCKQUOTE><font size=1 face=Verdana, Arial, Helvetica>quote:</font><HR>We hebben ook nog op een andere manier data uit Access databases gemigreerd. Op internet zijn we namelijk de volgende methode tegengekomen: Volgens deze methode moeten we een bestandje genaamd: “exportsql21.txt” laden in de Microsoft Visual editor utility. Vervolgens moeten we deze uitvoeren, waarna de volgende bestanden worden gegenereerd: “ esql_add.txt” en “esql_del.txt”. Deze bestanden dienen voor het respectievelijk aanmaken en vullen van de tabel, en het verwijderen van deze tabellen.

We hebben het bestand “esql_add.txt” geimporteerd in MySQL, en er trad de volgende fout op: Access stelde sommige kolomnamen van de primary key’s en gewone key’s niet op “NOT NULL”. MySQL eist (uiteraard), dat de waarde op NOT NULL staat. Dit moesten we dus eerst met de hand veranderen in het door Access uitgevoerde bestand, alvorens aan het importeren in MySQL begonnen kon worden.[/quote]die file kun je op mysql.com vinden.

nope


Verwijderd

Dus het gaat erop lijken dat die textfiles helemaal zo gek nog nie zijn. sterker nog als je dat had gedaan was je al 3x klaar geweest. :)

Verwijderd

[edit post in het compleet verkeerde draadje]

--ray

Verwijderd

Topicstarter
Thanx voor alle input!!! :) Ik heb helaas nog even geen tijd gehad om verder te testen maar morgen (vandaag) ga ik weer ff verder.

Wat trouwens al wel gelukt is, is het converteren per tabel (via MyODBC) van Acces naar MySQL. Het grappige is dat je weer via ODBC je MySQL database vervolgens weer vrolijk kunt inlezen in Acces. Je kunt dan gewoon je data editten en relaties aanmaken!!! Of dit allemaal goed werkt met MySQL queries moet ik nog testen...

Maar op zich wel interessant dus allemaal, want als dit werkt kun je op een zeer gebruiksvriendelijke manier een MySQL database opzetten en bewerken.

Dat met die textfiles zie ik eigenlijk nog niet zo zitten, het gaat namelijk om een database bestaande uit 28 tabellen waarvan sommige meer dan 10.000 records bevatten... Maar wie weet als het niet anders kan.

Ik laat het wel even weten of het allemaal wel/niet gaat werken, iig bedankt allemaal!

Verwijderd

Hey!

Hoe werkt dat myODBC eigenlijk?
Waar kan ik dat krijgen en wat is ervoor nodig?

Patrick

Verwijderd

Nou, ik heb dus MyODBC gedownload en geinstalleerd.
Ook heb ik de nieuwste DOA van Microsoft gedownload en geinstalleerd.

Ik heb Apache met MySQL erop en eraan.

Kun je mij vertellen hoe ik de MS Access 2000 database naar MySQL kan zetten?

Mijn lukt het niet:

Ik deed het met : database openen, export to ODBC bestand en dan MySQL DSN, maar ik krijg dan een foutmelding.

Wat moet ik als mysql server opgeven?

Apache gebruikt [url="http://localhost"]http://localhost[/url], maar hoe moet ik MySQL aanduiden als server?

Alvast bedankt.
Patrick

Verwijderd

Topicstarter
Access2k is niet compatible met MyODBC, installeer Access97 er ff naast, dan is `t geen enkel probleem!

Verwijderd

Hoe werkt het precies om in MS Access een database of de tabel naar MySQL te exporteren.

Ik heb nu Apache server draaien met MySQL.
MyODBC heb ik ook geinstalleerd (moet ik dat nog starten of zo en zo ja: hoe?)

Ook MS Access 97 staat erop.

Hoe nu verder?

Patrick

Verwijderd

Topicstarter
FourEyes:

- Ga naar Access, open je database.
- Klik met je rechter muisknop op een tabel en kies exporteren.
- Kies OK in 't volgende schermpje, en kies in het save schermpje geen mdb (access) maar kies voor ODBC.
- Kies nog een keer OK en vervolgens de datasource die die je voor je MySQL datasource hebt aangemaakt.

De tabel wordt dan geconverteerd naar een MySQL tabel. Als je dit voor alle tabellen doet heb je je database geconverteerd! :)

Succes!

  • Mister_X
  • Registratie: Februari 2000
  • Laatst online: 07-04 08:41
dat probeer ik ook de hele tijd! maar na een 1minuut rommelen van me hd krijg ik de melding dat de hele handel niet geconverteerd is. erg vervelend. iemand een goeie tutorial of een stap voor stap beschrijving?

  • Kogelvis
  • Registratie: Maart 2001
  • Laatst online: 28-04 16:21

Kogelvis

Nu ook met gitaar

probeer DBTools eens heeft bij mij ook gewerkt.

<Jeroen> Wirf: vrouwen versieren kan je gewoon in het OSI model proppen hoor :P
I am dyslexic of Borg prepare to have your ass laminated
Real Programmers always confuse Christmas and Halloween because oct31 = dec25


  • Mister_X
  • Registratie: Februari 2000
  • Laatst online: 07-04 08:41
nahja een tutorial is niet nodig, het is niet zo moelijk te doen , maar ik dacht dat je probleem loos die handel kon exporteren

trouwens de dbase bestaat wel al in mysql, naam is forum_dbase1 maar de tabellen enzo bestaan nog niet, dat moet toch nix uitmaken? die create ie vanzelf dan toch wel,

ik vroeg me dit af omdat ik deze error kreeg:

[TCX][MYODBC]You have an error in your SQL syntax near "uitleg'mediumtext)' at line 1[#1064]

  • Mister_X
  • Registratie: Februari 2000
  • Laatst online: 07-04 08:41
ow en er kan uiteraard gezegt worden: "ehm, als je in de dbase geen gegevens heb maak de dbase dan aan met phpadmin", tja mee eens, en dat heb ik al meerdere keren geprobeert, maar als ik een tabel wil maken met phpadmin (dat trouwens lekkel op me pwsje van M$ draait >:) ) dan krijg ik dit weer:

CREATE TABLE users (user_id VARCHAR not null AUTO_INCREMENT, nick_naam TEXT not null , naam TEXT , achternaam TEXT , emailadres TEXT not null , icq_nr VARCHAR , homepage TEXT , geb_datum TEXT , geslacht TEXT , geslacht TEXT not null , woonplaats TEXT , beroep TEXT , reg_datum DATE not null , sign LONGTEXT , ondertitel TEXT , PRIMARY KEY (naam, achternaam, emailadres, icq_nr, homepage, geb_datum, geslacht, geslacht, woonplaats, beroep, reg_datum, sign, ondertitel), INDEX (user_id), UNIQUE (user_id, nick_naam)) comment = 'users details table'
MySQL said: You have an error in your SQL syntax near 'not null AUTO_INCREMENT, nick_naam TEXT not null , naam TEXT , achternaam TEXT' at line 1


ook niet echt handig,

weet iemand trouwens een i'net page waar al die betekenis van varchar, blob, etc staat, ik ken die niet namelijk allemaal... :)

  • Onno
  • Registratie: Juni 1999
  • Niet online
Dat staat allemaal in de documentatie van je db. MySQL in dit geval dus.

CREATE TABLE syntax
Column types

  • Mister_X
  • Registratie: Februari 2000
  • Laatst online: 07-04 08:41
oh bedankt, zat net al op die site te checken naar het developers team :)

maar het is toch mogelijk om gewoon een acces tabel naar mysql te gooien, mbv zo'n "zogenaamde tool" die ik nergens kan vinden?

Verwijderd

Op woensdag 18 oktober 2000 03:37 schreef FourEyes het volgende:
Wat moet ik als mysql server opgeven?

Apache gebruikt [url="http://localhost"]http://localhost[/url], maar hoe moet ik MySQL aanduiden als server?

Alvast bedankt.
Patrick
127.0.0.1:3306 (of evt. een andere poort)

  • Kogelvis
  • Registratie: Maart 2001
  • Laatst online: 28-04 16:21

Kogelvis

Nu ook met gitaar

vanmiddag heb ik wel een acces to mysql programma als je het wil hebben mail of icq dan maar even

p.s. ben pas 16.05 u thuis.

<Jeroen> Wirf: vrouwen versieren kan je gewoon in het OSI model proppen hoor :P
I am dyslexic of Borg prepare to have your ass laminated
Real Programmers always confuse Christmas and Halloween because oct31 = dec25


  • Onno
  • Registratie: Juni 1999
  • Niet online
Op dinsdag 12 juni 2001 10:50 schreef Mister_X het volgende:
maar het is toch mogelijk om gewoon een acces tabel naar mysql te gooien, mbv zo'n "zogenaamde tool" die ik nergens kan vinden?
Ja... zoals ik een half jaartje geleden al zei:
Op maandag 16 oktober 2000 12:32 schreef Onno het volgende:
Bij Borland dev.pakketten zit een tooltje 'datapump', daarmee kun je tabellen uit de ene db naar een andere exporteren, enige voorwaarde is dat beide db's een ODBC of BDE driver hebben. Nou ja, dat is bij Access en MySQL wel zo...

Kun je alles gewoon in een keer doen, zonder moeilijk te doen met allemaal losse comma seperated files enzo. :)
En tja.. als je geen Delphi/C++Builder hebt... verder zoeken. ;)

  • Mister_X
  • Registratie: Februari 2000
  • Laatst online: 07-04 08:41
ik weet al wat het was, dat gare mysql kan geen tekst velden importeren vanuit acces. heb alle tekst velden in acces verandert naar memo, toen lukte het wel, alleen nou zou ik graag alles terug willen zetten, weet iemand, trouwens ik search wel effe naar een tool voor mysql om de tabellen te editten.

  • jvhaarst
  • Registratie: Maart 2000
  • Laatst online: 03-04 22:46

jvhaarst

Eendracht maakt macht

Op dinsdag 12 juni 2001 10:21 schreef Mister_X het volgende:
nahja een tutorial is niet nodig, het is niet zo moelijk te doen , maar ik dacht dat je probleem loos die handel kon exporteren
Waarom doet iedereen zo moeilijk ?http://dbtools.vila.bol.com.br/ is your friend.

Dag, Jan

If you don’t have enough time, stop watching TV.


  • Mister_X
  • Registratie: Februari 2000
  • Laatst online: 07-04 08:41
Op dinsdag 12 juni 2001 11:02 schreef Kogelvis het volgende:
vanmiddag heb ik wel een acces to mysql programma als je het wil hebben mail of icq dan maar even

p.s. ben pas 16.05 u thuis.
ow neehoor hoeft niet, toch bedankt! het is al gelukt, de database is er in, het enige dat ik nu moet doen is een aantal velden veranderen, (ik kon alleen exporteren vanuit acces naar mysql als ik in acces al mijn velden met de gegevenstype tekst omzette naar memo) en dus die moeten weer tekst worden, ow, en de auto nummeringen werken i niet (alsof mysql die niet heeft overgenomen bij het exporteren, lekker vaag) maar de connecties, etc balbal werken wel,

trouwens als je met dat tooltje ook tabellen kan editten in mysql, zodat je je ze makkelijk kan aanpassen, dan zou ik het graag willen, alleen ben ik pas om 7uur thuis vanavond, (ik zit op werk in op schiphol en moet 2uur met trein zowel heen als terug :r ) waarschijnlijk word het zelfs wat later omdat er sinds de nieuwe dienstregeling weer lekker veel vertragingen zijn :r ...

  • Mister_X
  • Registratie: Februari 2000
  • Laatst online: 07-04 08:41
Op dinsdag 12 juni 2001 11:20 schreef jvhaarst het volgende:

[..]

Waarom doet iedereen zo moeilijk ?http://dbtools.vila.bol.com.br/ is your friend.

Dag, Jan
dank u wel ! :)

  • Mister_X
  • Registratie: Februari 2000
  • Laatst online: 07-04 08:41
Op dinsdag 12 juni 2001 11:20 schreef jvhaarst het volgende:

[..]

Waarom doet iedereen zo moeilijk ?http://dbtools.vila.bol.com.br/ is your friend.

Dag, Jan
WOW nogmaals thx! dit tooltje is absoluut een aanrader voor iedere mysql gebruiker!

  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Mag ik trouwens weten waarom je in godsnaam zou willen overstappen van Access Naar MySql?

MySql is nou niet van je het, en zeker als je nog in een ontwikkelingsfase bent kan je je beter richten op een database die tenminste fatsoenlijke features ondersteunt.

Kijk bijvoorbeeld eens naar borland interbase. Of MS SQlserver op zich een logische keuze als je al met access werkt.

  • Mister_X
  • Registratie: Februari 2000
  • Laatst online: 07-04 08:41
Op dinsdag 12 juni 2001 11:48 schreef raptorix het volgende:
Mag ik trouwens weten waarom je in godsnaam zou willen overstappen van Access Naar MySql?

MySql is nou niet van je het, en zeker als je nog in een ontwikkelingsfase bent kan je je beter richten op een database die tenminste fatsoenlijke features ondersteunt.

Kijk bijvoorbeeld eens naar borland interbase. Of MS SQlserver op zich een logische keuze als je al met access werkt.
ok, waarom:

puur om mijn kennis te vergroten, immers met acces ken ik alles al, (heb zelfs op school certificaat gehaald daarvoor), mysql is nieuw, interressant, schijnt sneller te zijn (dat ga ik dus uitvinden) en nieuwschierigheid, denk de belangerijkste reden waarom.

acces daarintegen is idd veeeeel gebruikersvriendelijker, makkelijker, beter onderhoudbaarder.

ik bedoel dus, met acces ken ik het wel nu, maar mysql niet, dus de volgende stap is om mysql onder de knie te krijgen, sta dus ook niet raar te kijken als ik over een maand of wat iets over oracle vraag, of ms sql of wat dan ook. :)

  • Mister_X
  • Registratie: Februari 2000
  • Laatst online: 07-04 08:41
maar je hebt gelijk, ik zet de acces dbase terug,

ik kon geeneens met het nieuwe dbase een nieuwe user aanmaken omdat de autocount op row 1 blabala fout fout foutmelding. dus lekker accessen, nahja, ik hoef nix meer aan de acces dbase teveranderen want die draait al een tijdje :)

  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Je kan inderdaad niet 123 alles overzetten omdat dingetjes soms anders werken/heten.

In jou fase zou ik je willen adviseren vooral structureel goede databases te maken, snelheid is leuk maar meestal pas belangrijk als je echt veel hits gaat krijgen.

En aangezien PWS toch maar 5 connecties aankan denk ik dat je over snelheid niet zoveel zorgen hoeft te maken ;)

  • Mister_X
  • Registratie: Februari 2000
  • Laatst online: 07-04 08:41
haha, ja daar heb je gelijk in, een als het niet aan pws ligt is het wel de 6kb upload van me isp (sonera)

maar uiteindelijk wil ik het wel op een P75ala64mb winnt4 server IIS4 draaien :)
zodat jullie even kunnen kijken wat ik gebakken heb. als ik ooit hits ga krijgen (veel hits) dan ben ik tegen die tijd (tijd=jaar of wat :) ) toch wel overgestapt op een andere dbase.

maar ik had al gezien wat ik moest veranderen maar nou ik alles weer terug gezet hebt begint acces ook te zeiken :( , nahja...

update:

hij doet het weer, was effe vergeten dat ik gister wat dingetjes verandert had en niet afgemaakt had :)

  • InterRubke
  • Registratie: September 2000
  • Laatst online: 13-03 13:34
die dbtools is echt geweldig ! :P

on the 8th day god started debugging


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Een zo'n oud topic, met zo'n nutteloze reply omhoog halen is zinloos.
Ik waarschuw je dat niet weer te doen.
Bij deze krijg je trouwens een officiele waarschuwing, omdat ik zojuist gezien heb dat je dit vaker gedaan hebt.
Pagina: 1

Dit topic is gesloten.