Microsoft Access 2003 > MySQL database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jonathan

Jonathan

15/09/2006 22:32:00
Quote Anchor link
Weet iemand wat het beste programma is om een Microsoft Access database om te zetten naar een MySQL database? Op het web vind ik overigens alleen maar erg dure programma's voor iets wat toch een redelijk eenvoudige procedure moet zijn! Heeft iemand een paar goeie tips?

Jonathan
 
PHP hulp

PHP hulp

12/01/2025 16:12:59
 

15/09/2006 22:43:00
Quote Anchor link
Microsoft != OpenSource
Acces = Microsoft
MySQL = OpenSource
Acces <> OpenSource


Even alle tabelletjes opslaan als CSV bestand en dat importeren
of
Indien mogelijk exporteren naar SQL bestanden
of
Werken met ODBC verbindingen
 
Jan Koehoorn

Jan Koehoorn

15/09/2006 23:17:00
Quote Anchor link
Het hangt er nogal van af hoe je Access DB er uit ziet. Is het een ingewikkelde DB met veel tabellen en relaties? Of heb je 1 tabel met NAW gegevens?
 
Jonathan

Jonathan

15/09/2006 23:26:00
Quote Anchor link
Het gaat om 1 grote tabel die ik ga gebruiken met honderden rijen en ca. 8 kolommen. Ik zoek dus een tool die deze tabel 1 op 1 overneemt en overzet in MySQL. Praktisch maakt het dus niet eens uit of ik access gebruik of excel.
 
Jan Koehoorn

Jan Koehoorn

15/09/2006 23:32:00
Quote Anchor link
Als het maar om 1 tabel gaat is er niets aan de hand.
In phpMyAdmin kun je alleen MySQL dumps importeren dacht ik, maar als je vanuit MS Access een CSV bestand exporteert kun je die met een PHP script inlezen en in een MySQL tabel prakken.

Edit:

Je kunt ook een tekstfile inladen in MySQL
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
 
Andries Louw Wolthuizen

Andries Louw Wolthuizen

15/09/2006 23:39:00
Quote Anchor link
Mijn oude manier met kladblok en Ctrl+H, (waarbij ik de enters vervong door INSERT .. en de tabs / spaties door "","", ) , zal denk ik niet voor jou voldoen ;)

Probeer eerst de tabel aan te maken, en daarna een manier te vinden om de gegevens over te zetten (Kladblok? ;) ).
 
Jan Koehoorn

Jan Koehoorn

15/09/2006 23:42:00
Quote Anchor link
@ Jonathan: ik kan me voorstellen dat het voor een nieuweling nogal ondoorzichtig overkomt allemaal. Welke velden heb je in je MS Access tabel? Als we dat weten kunnen we je wat gerichter helpen.
 
Jonathan

Jonathan

16/09/2006 00:07:00
Quote Anchor link
Jan:
@ Jonathan: ik kan me voorstellen dat het voor een nieuweling nogal ondoorzichtig overkomt allemaal. Welke velden heb je in je MS Access tabel? Als we dat weten kunnen we je wat gerichter helpen.


Het zit zo.... ik kan MySQL al inlezen en bewerken met php. Het op de website zetten van deze informatie is appeltje eitje. Ik kan MySQL databases dus uitlezen, alleen de vraag is hoe vul ik hem. Via MySQL prompt: create database, use database, create tables etc. etc. is natuurlijk leuk om te weten, maar totaal onpraktisch.

Laten we zeggen ik heb (bijv.) een 3x3 tabel in access:
1 computer (leeg veld)
2 beeldscherm 833
3 muis 329
Deze wil ik 1 op 1 overnemen in een MySQL database. Dus een leeg vakje in Access moet ook een leeg vakje worden in MySQL.

Ik denk dat jullie aanwijzing (Access > CSW > met script naar MySQL) een oplossing is die ik ga onderzoeken.
 
Hipska BE

Hipska BE

16/09/2006 10:42:00
Quote Anchor link
dat script naarmysql ... is gewoon imorteren bij phpmyadmin
 
Jan Koehoorn

Jan Koehoorn

16/09/2006 10:56:00
Quote Anchor link
Quote:
Ik denk dat jullie aanwijzing (Access > CSW > met script naar MySQL) een oplossing is die ik ga onderzoeken.

Bedoel je CSV?

Probeer vanuit Access eens een export te doen naar een CSV bestand. Daarna kun je met fgetcsv() de data inlezen in je PHP script.
 
Jan Koehoorn

Jan Koehoorn

16/09/2006 11:14:00
Quote Anchor link
Voorbeeldje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
    ini_set('display_errors', 1);
    error_reporting(E_ALL);

    $file = 'data.csv';
    $fp = fopen ($file, 'rb');
    $data = array ();

    while ($data[] = fgetcsv ($fp, 4096, ';')) ;
    fclose ($fp);

    echo '<pre>';
    print_r ($data);
    echo '</pre>';
?>

edit:
Dus in jouw geval, met een drie-velden tabel:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
    ini_set('display_errors', 1);
    error_reporting(E_ALL);

    $file = 'data.csv';
    $fp = fopen ($file, 'rb');
    while ($data = fgetcsv ($fp, 4096, ';')) {
        $sql = "
            INSERT INTO tabel
            SET
                veld1 = '"
. $data[0] . "',
                veld2 = '"
. $data[1] . "',
                veld3 = '"
. $data[2] . "'
            LIMIT 1
            "
;
        if (!mysql_query ($sql)) {
            trigger_error (mysql_error ());
        }
    }

    fclose ($fp);
?>
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.