Uitdagend probleem: excel>mysql 899 regels

  • Onderwerp starter Onderwerp starter RuSt
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

RuSt

Gebruiker
Lid geworden
23 nov 2004
Berichten
21
Hoi,

Even een korte uitleg wat ik aan het proberen ben maar niet wil lukken.

Ik heb een excelbestand met 6 kolommen: id (auto increment), naam(text), straat(text), postcode_cijfer(char(4)), postcode_letter(char(2)) en woonplaats(text).

KLIK HIER VOOR HET EXCEL BESTAND
KLIK HIER VOOR HET CSV BESTAND


Er zitten 899 records in. In elke kolom en in elke rij op de 'id' kolom na staat data.

Je begrijpt, handmatig overtikken in de database is een jaar werk. Daarom probeer ik al de hele dag om dit in mijn database te zetten. Hiervoor gebruik ik phpMyAdmin versie 2.5.3.

1e poging was: Excel bestand opslaan als .csv Volgens allerlei artikelen op internet kan je in phpMyAdmin heel simpel dit bestand uploaden. In mijn geval niet, in ieder geval kan ik nergens een .csv uploaden.

2e poging: Omdat er wel een optie is om een text bestand te uploaden naar phpMyAdmin (Invoegen tekstbestanden in tabel) heb ik het excel bestand opgeslagen als .txt. (Tekst - tab is scheidingsteken) Wanneer ik dit upload:

- Vervang tabelgegevens met het bestand
-Velden beeindigd door ;
- Velden ingesloten door "
- Verden ontsnapt door \
- regels beeindigd door \r\n
- LOAD method (zowel DATA als DATA LOCAL geprobeerd)

krijg ik deze foutmelding:
*****************************
LOAD DATA INFILE '/www/cust/x/5/8/6/58604/docs/tmp/php5uBId6' REPLACE INTO TABLE `klant_id`
FIELDS TERMINATED BY ';'
ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\r\n'

# 1045 - Access denied for user: 'username@r-web-121.www.nl.demon.net' (Using password: YES) (ik ben toch ingelogd??)
*****************************

Het bestand is maar 54,6 kB groot. Dat moet de pHp server toch aankunnen?

3e poging: Ik heb van het .txt. bestand een standaard query gemaakt. (op een slimme manier kan dat best snel) Ik had dus de volledige query om alle 899 records met alle Values te inserten. Deze heb ik zowel als .php op de server laten draaien als in phpMyAdmin. Beide 300 keer kreeg ik de complete query op het scherm (zoals het er hoort uit te zien).. alleen dit kleine zinnetje:
*****************************
"Column count doesn't match value count at row 112"
*****************************
Ik snap er echt geen donder van. De query klopt, alles netjes afgesloten, en het komt uit een excel bestand dus ik kan met geen mogelijkheid een variabele aanroepen voor een value die niet bestaat (daar is die foutmelding toch voor?). In de zinnen van de query staan geen " en ' die de boel verstoren ('s zou kunnen bijv).

Nu het mooiste, toen ik probeerde om 111 rijen te inserten met de query lukte dat wel. De volgende 111 weer niet. Na de eerste 111, kon ik er wel 25 inserten. Hier klopt helemaal niets van toch?

Het totale bestand/query/..is maar 54,6 kB groot. Dat moet de pHp server toch aankunnen?

nu zou ik iedereen willen vragen..

HEEEEELPPP!!!
 
Laatst bewerkt:
voeg het excel en het csv bestand eens toe
en vermeld even de versie van mysql en phpmyadmin
 
versie mysql/php

phpMyAdmin 2.5.3-rc2

MySQL 4.0.24

In mijn originele bericht staat nu 2x een link naar zowel het excel bestand als het csv bestand (voorbeeld) Er staan namen en adressen in dus ik heb een voorbeeld gemaakt.

zo gaat het verder tot 899 records. Het veld 'id' is leeg, in het veld 'naam' komen de volgende tekens voor: & . - / ! en alle cijfers (wel tussen ' en ' dus dat mag geen verschil maken toch)

in het veld straat komen de volgende tekens voor: - / , . en natuurlijk cijfers
Hetzelfde geld voor pc_cfr pc_lttr en ww.

Ik heb het zelfs met verschillende programmatjes geprobeerd.. telkens dezelfde melding.
 
Laatst bewerkt:
Heb het hier even geprobeerd>

Heb een tabel aangemaakt via phpmyadmin met de volgende sql query
(hernoem even de tabelnaam test naar de juiste)
Code:
CREATE TABLE `test` (
`id` INT( 5 ) ,
`naam` VARCHAR( 50 ) NOT NULL ,
`straat` VARCHAR( 20 ) NOT NULL ,
`pc_cfr` INT( 4 ) NOT NULL ,
`pc_lttr` VARCHAR( 2 ) NOT NULL ,
`woonplaats` VARCHAR( 20 ) NOT NULL ,
`ww` VARCHAR( 10 ) NOT NULL 
) TYPE = MYISAM ;

daarna via vullen dmv tekstbestanden jou csv'tje correct kunnen importeren door alle opties daarimn default te laten.

met de zelfde mysq die jij gebruikt dus dat moet lukken
MySQL 4.0.24
 
Laatst bewerkt:
error

Fout:

Code:
SQL-query :  

LOAD DATA INFILE '/www/cust/x/5/8/6/58604/docs/tmp/phpO3XJcC' INTO TABLE `test` FIELDS TERMINATED BY ';' ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\r\n' 

MySQL retourneerde: 


#1045 - Access denied for user: 'hala653@r-web-121.www.nl.demon.net' (Using password: YES)

Misschien blokkeert demon dit soort uploads? thnx voor de support trouwens
 
hallo,
ik zit met een gelijkaardig probleem:
ik heb excel files met de gegevens van postcodes en gemeentes en moet die via phpmyadmin in sql krijgen.

nu kan ik van excel naar csv gescheiden door , of ; gaan zonder problemen

maar phpmyadmin
(phpMyAdmin - 2.9.2-Debian-1.one.com1 MySQL client version: 5.0.32)
wilt alleen aanvaarden als er nog eens "" rond de data staat (of een ander teken. dus enkel als het er zo uitziet:
"1","3000","Leuven"
"2","3001","heverlee"
kan iemand me helpen?
hoe dus van xls naar csv of txt eruitziend als hierboven als de data in mijn excel staan zoals hieronder?
1 3000 Leuven
2 3001 Heverlee

indien meer info nodig hoor ik het graag
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan