MS Access naar MySQL INSERT statements*

Pagina: 1
Acties:

  • spaceboy
  • Registratie: Februari 2001
  • Laatst online: 21-08 17:53

spaceboy

Op grote hoogte

Topicstarter
Met de GOT-search blijkt dat het regelmatig geprobeerd (en gelukt) is om een MS Access database om te zetten naar MySQL. Dat kan met MyODBC maar dat is voor mij geen optie omdat ik niet rechtstreeks daarmee kan verbinden. WEL kan ik online MySQL (SQL)statements uitvoeren. Daarom wil ik van mijn ene tabel in MS Access 2000 graag SQL statements maken (INSERT statements dus). Via de search wordt steeds geroepen "download de upsize wizard", maar wat ik daar ook op zoek, krijg ik gelul over de SQL Server en het importeren van data. DAT wil ik dus niet. Iemand een SIMPELE (werkende) oplossing??

Aan bovenstaande tekst kunnen geen rechten worden ontleend. Aan de tekst hieronder wel.


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
Ik snap je niet.
Van een tabel INSERT statements maken? Bedoel je nu dat je voor ieder record in de access tabel een INSERT statement wilt maken zodat je die gegevens in MySQL kunt importeren?

Ik weet niet zoveel over MySQL, maar het zou me verbazen mocht MySQL daar een of andere handige methode voor hebben.

In SQL Server heb je bv de OPENROWSET functie die je voor dit doel zou kunnen gebruiken. Je zou dan zoiets kunnen maken:
code:
1
2
INSERT INTO tabel
OPENROWSET(..hier komen wat parameters m een verbinding metde access db te kunnen maken, 'SELECT * FROM accesstable');


Misschien heb je in MySQL wel iets gelijkaardigs...

https://fgheysels.github.io/


  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 07-07 11:51
Altijd heel fijn als men reacties in GoT als gelul bestempeld... zo maak je vrienden!

Anyway... aangezien je een SIMPELE oplossing zoekt; rechter muisknop op tabel, exporteren naar CSV en er (in Excel bijvoorbeeld) voor elke regel INSERT INTO tabel () omheen plakken?

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


  • spaceboy
  • Registratie: Februari 2001
  • Laatst online: 21-08 17:53

spaceboy

Op grote hoogte

Topicstarter
Precies wat je als eerste zegt.

Ik heb een MS Access database met 1 tabel. In die tabel staan 500 records.
Ik wil een MySQL database met exact dezelfde tabel met exact dezelfde records.
Ik kan NIET direct exporteren via MyODBC of iets dergelijks.
Ik wil NIET 500 records handmatig invoeren.

Kortom: ik wil van mijn Access database 1 text-document maken waarin dit staat:

CREATE TABLE (blah blah blah)
INSERT INTO TABLE (blah blah)
INSERT INTO TABLE (blah blah)
INSERT INTO TABLE (blah blah)
INSERT INTO TABLE (blah blah)
(500x)

Aan bovenstaande tekst kunnen geen rechten worden ontleend. Aan de tekst hieronder wel.


  • spaceboy
  • Registratie: Februari 2001
  • Laatst online: 21-08 17:53

spaceboy

Op grote hoogte

Topicstarter
bigtree schreef op 10 September 2003 @ 20:45:
Altijd heel fijn als men reacties in GoT als gelul bestempeld... zo maak je vrienden!

Anyway... aangezien je een SIMPELE oplossing zoekt; rechter muisknop op tabel, exporteren naar CSV en er (in Excel bijvoorbeeld) voor elke regel INSERT INTO tabel () omheen plakken?
Dat is inderdaad een goeie. Aan zoiets denk ik ook. Enig puntje is nog dat het een complexe tabel is met 25 kolommen en ik zou ook graag die tabel-definitie als een CREATE TABLE statement kunnen genereren omdat deze nogal kan wijzigen.

En dat "gelul" bedoelde ik omdat dat niet het antwoord is wat IK nodig heb. Niet dat het gelul in het algemeen is. :)

Aan bovenstaande tekst kunnen geen rechten worden ontleend. Aan de tekst hieronder wel.


  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 07-07 11:51
Tja, in SQL server heb je een optie 'generate sql script' wat precies doet wat je wilt. :P Access heeft zo iets niet. Een makkelijke oplossing daarvoor *is* er dus niet. Wat je wel zou kunnen doen is lokaal mysql te installeren en eerst naar die database je tabel te exporteren (via MyODBC). Vervolgens kan je daar een CREATE TABLE script uit trekken en op je uiteindelijke database loslaten.

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


  • Ignoramus
  • Registratie: December 2001
  • Laatst online: 01-08 09:15
probeer het eens met het freeware pakketje "AccessDump"

Bij IT-ers gaat alles automatisch, maar niets vanzelf Workstation Server


  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 07-07 11:51
Ignoramus schreef op 10 September 2003 @ 20:58:
probeer het eens met het freeware pakketje "AccessDump"
Geinig, die kende ik nog niet. (Staat zelfs ter download op mysql.com :))

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Andere optie is tijdelijk op een machine die wel kan odbcen naar access mysql zetten. dan myodbc gebruiken en dan vanuit deze mysql een export doen???

edit:
/me moet sneller leren tikken

[ Voor 13% gewijzigd door Gomez12 op 10-09-2003 21:04 ]


  • spaceboy
  • Registratie: Februari 2001
  • Laatst online: 21-08 17:53

spaceboy

Op grote hoogte

Topicstarter
Ignoramus schreef op 10 September 2003 @ 20:58:
probeer het eens met het freeware pakketje "AccessDump"
YES! DAT zocht ik! Gracias!

Aan bovenstaande tekst kunnen geen rechten worden ontleend. Aan de tekst hieronder wel.


  • Suepahfly
  • Registratie: Juni 2001
  • Laatst online: 13-08 14:09
Wat je ook kan doen:

Maak in Acces een CSV dump

En dan met PHP(ik ga er van uit dat dat ook je webhost draait)

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$row = 1;
$fp = fopen ("dump.csv","r");
while ($data = fgetcsv ($fp, 1000, ",")) 
{
    $num = count ($data);
    $row++;
    for ($c=0; $c < $num; $c++) 
    {
        mysql_query(".....");
    }
}
fclose ($fp);
?>


Of zoiets

  • Boss
  • Registratie: September 1999
  • Laatst online: 22:38

Boss

+1 Overgewaardeerd

Vooral bij het 'of zoiets' denk ik dat dit niet een makkelijke oplossing is. Je moet tenslotte nog ergens iedere regel uit het csv bestand ombouwen naar een INSERT. En dat is precies wat AccessDump doet...

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
http://www.mysql.com/doc/en/LOAD_DATA.html of MySQLimport werken over het algemeen perfect om CSV data in een MySQL db te krijgen. Ga ajb niet zitten kloten met PHP oid, omdat dat vaak flink traag en foutgevoeliger is (en waarom het wiel nog een keer uitvinden?)

Let wel op dat je bij LOAD DATA de \r\n Windows-lineterminators moet setten ipv \n :)
Pagina: 1