Avatar billede sk-man Nybegynder
17. oktober 2003 - 11:59 Der er 14 kommentarer og
1 løsning

phpMyAdmin problem

Jeg forsøger at importere en tekstfil, som access har genereret ud fra en database, i phpMyAdmin. Tabellen er oprettet med de rigtige datatyper (text, datetime, int) alligevel får jeg en fejl når jeg prøver at importere.

fejlen er:

LOAD DATA LOCAL INFILE '/tmp/phpsd912q' REPLACE INTO TABLE `afstemning_check`
FIELDS TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\r\n'

MySQL returnerede:

The used command is not allowed with this MySQL version

filen har dette indhold:
"195.47.145.10";2003-09-26 21:05:47;8
"130.225.55.7";2003-09-26 21:38:02;3
"195.249.23.74";2003-09-26 21:50:06;5
"80.160.107.41";2003-09-26 23:42:43;8

<i>Er der nogle af jer som har en løsning til dette problem?</i>

Er der andre løsninger?
Jeg har prøvet at importere en insert sql i en tekstfil, og det virkede fint. Kan man måske generere en tekstfil med en masse insert Sql'er?
Avatar billede detox Nybegynder
17. oktober 2003 - 12:11 #1
Ligger filen på en anden server end MySQL?
Avatar billede detox Nybegynder
17. oktober 2003 - 12:14 #2
Ellers kunne du nemlig prøve uden LOCAL, det er nok der det går galt:

LOAD DATA INFILE '/tmp/phpsd912q' REPLACE INTO TABLE `afstemning_check`
FIELDS TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\r\n'
Avatar billede sk-man Nybegynder
17. oktober 2003 - 12:16 #3
Det er en jeg uploader (hva formularen i phpMyAdmin), så det ved jeg ikke.

Kan jeg måske uploade den til min webside og så sige at den skal finde filen der?
Avatar billede sk-man Nybegynder
17. oktober 2003 - 12:17 #4
hvis jeg nu gør det fra min webside kan jeg så gøre sådan?:

LOAD DATA INFILE 'http:www//xyz.dk/123.txt' REPLACE INTO TABLE `afstemning_check`
FIELDS TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\r\n'
Avatar billede detox Nybegynder
17. oktober 2003 - 12:23 #5
Du kan osse lige forsøge med den fulde sti. Ellers vil den prøve relativt ift. MySQL-serveren.
Avatar billede detox Nybegynder
17. oktober 2003 - 12:26 #6
Altså i stil med:

LOAD DATA INFILE 'C:/tmp/phpsd912q' REPLACE INTO TABLE `afstemning_check`
FIELDS TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\r\n'
Avatar billede detox Nybegynder
17. oktober 2003 - 12:50 #7
Ellers er her et script der kan lave sql-fil ('insert.sql'):

<?
$pre = "INSERT INTO `afstemning_check` VALUES (";
$insert = "";
$handle = fopen ("phpsd912q","r");
while ($data = fgetcsv($handle, 1000, ";")) {
    $insert .= $pre."'".$data[0]."', '".$data[1]."', ".$data[2].");\r\n";
}
fclose ($handle);
$handle = fopen('insert.sql', 'w');
fputs($handle, $insert, strlen($insert));
fclose ($handle);
echo $insert;
?>
Avatar billede detox Nybegynder
17. oktober 2003 - 12:50 #8
Behøver selvfølgelig ikke den sidste: 'echo $insert;'
Avatar billede sk-man Nybegynder
17. oktober 2003 - 13:02 #9
hvilket sprog er det?
Avatar billede sk-man Nybegynder
17. oktober 2003 - 13:18 #10
Er det php?

Det er stort set det eneste jeg ikke kan, men det er jo også lige meget. Jeg må prøve det når jeg kommer hjem fra arbejde...
Avatar billede detox Nybegynder
17. oktober 2003 - 13:38 #11
Ja, det er php. Troede jeg du brugte, da du henviste til 'phpMyAdmin'. Ellers kan det vel osse laves i asp, men det kender jeg til gengæld ikke.
Avatar billede sk-man Nybegynder
17. oktober 2003 - 14:10 #12
jeg bruger Suns asp version som kan køre på unix/linux....

Mit problem er at jeg er gået fra et webhotel med ASP/access til et webhotel med PHP/ASP/MySQL, så nu sidder jeg med en ret stor database som skal konverteres...
Avatar billede detox Nybegynder
17. oktober 2003 - 14:53 #13
Så skal du vel have installeret MySQL på din egen maskine, mhp. test og backup.
Så kunne du jo foretage konverteringen på din egen maskine og så uploade til dit hotel derfra.
Avatar billede sk-man Nybegynder
23. oktober 2003 - 10:27 #14
Jeg lavede min egen lille parser i C# som konverterede outputtet fra Access til Insert sætninger som kunne gemmes i en fil. Der var lidt drillerier med æø og å, men jeg fandt ud af at Access skulle gemmes som UNICODE.....

Lav lige at svar detox. JEg fik jo ideen fra dig :-)
Avatar billede detox Nybegynder
23. oktober 2003 - 10:46 #15
Ok da. C# er jo effektivt c",)
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
Computerworld tilbyder specialiserede kurser i database-management

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