[ jocat @ 07.08.2007. 12:09 ] @
Pokusao sam da napravim automatsku proceduru za restorovanje odredjenih tabela u bazi podataka na webu, ali imam sledeci problem :

Velicina fajla koji treba da se ubaci u tabelu je reda preko 200.000 slogova.. Ukoliko pokrenem neki php skript koji cita taj fajl i upisuje u bazu, on pukne kod nekog odredjenog reda > negde oko 20-30.000 .. Sve zavisi od velicine..

Zasto se ovo desava ? Postoji negde neko ogranicenje ?

Pokusao sam da napravim tako da mi se automatski razbijaju fajlovi na manje, pa da onda svaki pojedinacno pozivam, i onda sve to lepo radi.. Ali mene interesuje da li postoji neko elegantnije resenje, jer je ipak u pitanju dnevna procedura koja treba da se izvrsava svakodnevno i pouzdano.

Da li postoji nesto sto ce mi automatski kad se pojavi taj fajl na ftpu da ga lepo spakuje u bazu ?

Hvala unapred na odgovorima!
[ Tyler Durden @ 07.08.2007. 15:38 ] @
Možda se radi o ograničenju u PHP-u u veličini fajla koji može da se učita, odnosno količine memorije koju jedan PHP proces može da zauzme. 8MB je defaultno podešavanje.
[ agvozden @ 08.08.2007. 08:11 ] @
probaj:

set_time_limit(300);
za povecanje vremena u sekundama

ili
ini_set('upload_max_filesize', '64M');
za velicinu fajla koji se uploaduje
[ misk0 @ 08.08.2007. 09:02 ] @
A da ti nama malo docaras situaciju tj alate koje imas na raspolaganju? Zasto ne bi jednostavno zipovao SQL fajl, FTP-ovao ga na server gdje se nalazi baza i uradio import? Sve to smjestis u cron-tab i pichi bez problema i nezavisno.
PHP nije rjesenje za to.
[ jocat @ 08.08.2007. 09:37 ] @
Evo ovako >
Na webu imam jednu bazu sa n tabela. SQL skript bi trebao da insertuje podatke u m tabela.

Na webu imam phpmysqladmin.

Ne znam na koji nacin mogu da namestim da mi se dnevno importuju podaci, pre toga brisu iz tih tabela.

Sto se tice prebacivanja putem ftp-a to nije problem, to svakako trenutno i radim, s tim sto bih pozvao ove php skriptove.

Logicno je da bi trebalo a u svemu tome php bude iskljucen, ali ja ne znam kako to da uradim.

Ovo oko crontab-a mi nije jasno ?

[ misk0 @ 08.08.2007. 18:09 ] @
Ono sto ti trebas uraditi:
- napravis zip fajl update.zip sa SQL komandama za ubacivanje, azuriranje podataka
- uploadas ga na server

Crontab (scheduler na linuxu) ti posluzi za sledece:
- u 1:00am (proizvoljno vrijeme) potrazi fajl update.zip
- raspakuje ga u temp folder gdje nastane fajl update.sql
- pokrene mysql -u tvoj_user -ptvoja_sifra ime_baze < update.sql
- obrise update.sql i update.zip

....... gotovo