Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Ładowanie duzych danych w php, CSV -> MySQL poprzez php
macdavido
post
Post #1





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 10.03.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Witajcie,
mam taki problem
jest plik CSV zawierający 21 kolumn i bardzo dużą ilość pozycji (jakies 38 tysięcy). Napisałem filtr i skrypcik który ładnie to wrzuca do bazy. Lecz niestety ale zrywa wrzucanie danych w różncyh losowych miomentach. Czasem pozycja 880 albo 1920-a itd. Czy to jakieś przeciążenienie czy coś innego co nie uwzględniłem. Procedura na początku nawiązuje połączenie, potem w pętli while wrzuca po kolei dane a na koniec zamyka połączenie. Plik CSV znajduje się na serwerze tam gdzie odpalany jest skrypt do przerzucenia danych na MySQL.

Znacie ten problem? możecie wspomóc radą?

Pozdrawiam
MacDavido
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
macdavido
post
Post #2





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 10.03.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


-> nospor
dzieki za info, sprobowalem ale chyba nie rozumiem
oto co robie:
na poczatek baza jest pusta wiec dla treningu tworze sobie w php zapytanie tworzace tablice:

  1. <?php
  2. $wyn = mysql_query("CREATE TABLE test21 (a INT NOT NULL AUTO_INCREMENT PRIMARY KEY, joke TEXT NOT NULL)");
  3. ?>


dziala to poprawnie bo na adminie widze ze tablica powstala
jest to jak widac jedna kolumna typu INT(11) oraz druga typu TEXT, tej pierwszej nadaje AUTO_INCREMENT i PRIMARY. Do zmiennej $wyn dostaje 1 czyli OK (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Nastepenie robie tak:

  1. <?php
  2. $wyn = mysql_query("LOAD DATA INFILE '/database/test.csv' INTO TABLE test21 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY 'n'");
  3. ?>


w folderze database mam plik test.csv (na serwerze) no i probuje go tutaj zaladowac ale lipa. Nie ma efektu i chyba nie rozumiem co i jak bo wzialem to z przykladow Twojego linka. A oto plik test.csv:

"1","a string","100.20"
"2","a string 2","102.20"
"3","a string 3","104.20"
"4","a string 4","110.20"


Jak juz mi to pojdzie to bede mial 21 kolumn i tysiace wierszy. Ehhhhm zeby wreszcie cos pomoglo.

-> mariuszn3

:-) tez za chwile sprawdze moze to mam i cos sie uda chyba ze zaraz w depresje wpadne
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.12.2025 - 07:56