Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Import plików csv przez LOAD DATA LOCAL INFILE
webspy
post
Post #1





Grupa: Zarejestrowani
Postów: 186
Pomógł: 9
Dołączył: 3.03.2008

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


Witam

Posiadam problem z wczytaniem plików csv przez LOAD DATA LOCAL INFILE,
Połączenie mam PDO
Oraz jest to wszystko w try { }

Wczytywanie działa poprawnie

Całe zapytanie wygląda mniejwięcej w ten sposób:
1. create table temp
2. LOAD DATA LOCAL INFILE -> table temp
3. INSERT INTO ... ON DUPLICATE KEY UPDATE ...
4. DROP TABLE temp

I to działanie (1-4) chciałbym powtórzyć dla 3 plików csv - czyli wywołać (1-4) 3krotnie

Kiedy robię to pojedynczo wszystko działa lecz kiedy chce te wszystkie działania robić przez wywolanie w jednym dzialaniu to wywala blad

Warning: Packets out of order. Expected 1 received 201. Packet size=51
Warning: PDO::exec(): MySQL server has gone away
Warning: PDO::exec(): Error reading result set's header

Jak mogę wczytywać 3 pliki na raz lub czy jest możliwość aby wykonała się następna funkcja kiedy poprzednie zapytanie już zotało zakończone.

Jest jakieś rozwiązanie tego problemu?(IMG:style_emoticons/default/questionmark.gif)



Problem rozwiązany, jeśli komuś się przyda to proszę:

wszystkie punkty rozdzieliłem na osobne zapytania wywoływane w osobnych funkcjach:

Wywołanie: (każde w osobnej funkcji)
1. create table temp
2. LOAD DATA LOCAL INFILE -> table temp - plik1
3. LOAD DATA LOCAL INFILE -> table temp - plik2
4. LOAD DATA LOCAL INFILE -> table temp - plik3
5. INSERT INTO ... ON DUPLICATE KEY UPDATE ...
6. DROP TABLE temp

Błąd wyskakiwał jeśli w jednym zapytaniu próbowałem zrobić dwa load data.

Ten post edytował webspy 16.02.2015, 13:18:30
Go to the top of the page
+Quote Post

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: 22.08.2025 - 13:05