Originariamente inviato da daniele_dll
Ho lavorato (purtroppo) più volte con macchine AS400, anche non recenti, ed il problema non è tanto interfacciarsi con loro che si fa tramite ODBC (su linux unixODBC) ma è far funzionare correttamente PHP+unixODBC+driver as400 per unixODBC su linux
perchè dici purtroppo?

macchine as400? Quindi as400 è una macchina come quella nel mio primo link? A me ne hanno parlato come se fosse un software :master:

Originariamente inviato da daniele_dll
In ogni caso ti sconsiglio di lavorare direttamente su AS400 perché ti ritroveresti a dover fare un sacco di lavoro via rete (SITO WEB <=> LORO RETE) e ti ritroveresti bloccato se non hanno più internet per qualsiasi motivo (blackout, telecom/provider impazzisce, scoppia una centrale e cosi via)

Per i problemi dell'aggiornamento basta far effettuare gli update a pranzo e la sera, o volendo anche solo la sera, tanto le spedizioni, al massimo verranno fatte ogni giorno e quindi le quantità cambieranno massimo una volta al giorno. Se proprio vogliono, lanciano la procedura di aggiornamento manualmente.

La procedura di aggiornamento non deve fare altro che leggere i dati (usando delle query non bufferizzate ... cursori forward-only) dall'as400, splittarli via php per come serve, raggrupparli tramite delle insert di gruppo (cosi da immettere, ad esempio, 500/1000 prodotti in un colpo) e lanciare le query. Non pensare a fare un eventuale passaggio di ricerca per aggiornare solo le variazioni perché il carico di rete e sui server (remoto e locale) sarebbe per 3 volte!!! Meglio un truncate lanciato a inizio procedura e via ... al massimo scrivi su una tabella, anche quella di config, un valore per indicare che stai aggiornando, cosi da bloccare temporaneamente il sito, e fai un lock per svolgere le operazioni.

Per quanto riguarda eventuali informazioni aggiuntive che hai necessità di associare ti crei delle tabelle a parte e usi gli ID dei prodotti, il codice, il seriale ... quello che vuoi per associarli.
quindi consigli di esportare il tutto, infilarlo in un mysql db, usare quello per il sito, e una volta al giorno fare la "sincronizzazione" tra i due db tramite uno script? Non si rischiano collisioni?

Originariamente inviato da daniele_dll
Se poi hai possibilità, invece di usare PHP per il componente che fa gli aggiornamenti, utilizzi qualche linguaggio più performante (C# su .NET/Mono o python compilato) ridurrai considerevolmente i tempi
purtroppo non conosco c, io personalmente lavoro con php & mysql

Originariamente inviato da daniele_dll
Se per dopo pasqua ti dovesse servire, in ufficio ho un pò di documentazione su come interfacciarsi agli AS400 da linux e poi come farlo via ODBC con php
se mi facessi avere questi documenti, te ne sarei grato, se non altro per schiarirmi le idee