Koble PHP til IBM i (AS / 400)

stemmer
31

Jeg har en kommende prosjekt der jeg trenger å koble vår hjemmeside ( PHP5/Apache 1.3/OpenBSD 4.1) til vår back-end system som kjører på en iSeries med OS400 V5R3 slik at jeg kan få tilgang til noen tabeller som er lagret der. Jeg har gjort noen sjekker rundt, men jeg kjører inn i noen sperringer.

Fra hva jeg har sett DB2 utvidelser og DB2-programvare fra IBM bare kjøres under Linux. Jeg har prøvd å sette sammen den utvidelser med all programvare fra IBM og selv prøvde sitt forhåndskompilert ibm_db2 forlengelse uten hell. IBM støtter bare Linux så jeg skrudde på Linux-emulering i kjernen, men som ikke synes å hjelpe noe.

Hvis noen har kjørt over å få alt til å kjøre direkte etter OpenBSD som ville være stor, men det jeg tror jeg kan ha å gjøre er å sette opp en ny server som kjører CentOS med DB2 installert (mest sannsynlig via ZendCore for IBM siden det ser ut til å gjøre alt dette for meg) og driveren slik at jeg kan sette opp en liten transaksjon server som jeg kan legge inn mot og få en JSON representasjon av DB2 data som jeg trenger.

Betyr det andre alternativet synes overkill eller gjør noen andre har noen bedre ideer?

Publisert på 03/08/2008 klokken 14:03
kilden bruker
På andre språk...                            


8 svar

stemmer
17

Har du sett på å koble til serveren ved hjelp unixODBC ? Hvis jeg husker riktig den har støtte for IBM DB2 og kompilerer på OpenBSD. Sjekk ut http://www.php.net/odbc for mer informasjon om PHP side.

Hvis du ikke kan få det til å fungere, kan muligheten til å sette opp en web-tjeneste på en Linux server være alt du kan gjøre.

Svarte 03/08/2008 kl. 14:39
kilden bruker

stemmer
4

Snarere enn å sette opp en andre boksen, hvorfor ikke du ser inn i PHP Connector for iSeries? Mine stormaskin gutta sa det var veldig enkelt å sette på våre iSeries her.

Vi skrev en enkel server i PHP som laster datamodeller fra DB2-data, serialiserer dem, og returnerer dem til den som ringer. Denne tilnærmingen betyr at bare en annen PHP app kan konsumere tjenesten, men det er bare så mye raskere i begge ender for å bare serial objektet og sende den ned i røret.

Her er en PDF fra IBM om emnet: http://i-seriesusergroup.org/wp-content/uploads/2006/09/PHP%20for%20i5OS%20NESDND.pdf

Svarte 27/08/2008 kl. 20:03
kilden bruker

stemmer
2

Til andre @John Downey, har jeg fått tilkobling til å jobbe med PHP på et AS / 400 med unixODBC.

Sjekk din phpinfo () for å se om unixODBC er tilgjengelig i det. Jeg trengte ikke å kompilere den inn på SLES 10.

Svarte 24/08/2008 kl. 23:10
kilden bruker

stemmer
2

Ser ut som en web-tjeneste kommer til å være svaret for meg. På en produksjon boksen jeg vil heller ikke gå gjennom kompilere og vedlikeholde min egen spesielle installasjon av PHP siden ODBC støtte må samles i henhold til PHP dokumentasjon.

Svarte 03/08/2008 kl. 21:31
kilden bruker

stemmer
1

Hvorfor ikke bruke PUD fra PHP? Jeg må gjette her siden jeg ikke kunne finne en offentlig liste over alle porter tilgjengelig for OpenBSD, men siden det er en port for FreeBSD, NetBSD osv kanskje du får heldig også.

(Jeg antar at selv om OpenBSD linker til FreeBSD sin porter håndbok, Freshports er ikke aktuelt for ditt system?)

Hvis PUD er ikke tilgjengelig, og siden jeg håper du bruker havner og i henhold til følgende link er det php5-ODBC tilgjengelig:

Så antar du administrere systemet gjennom portene, det er dine tips.

Håper det hjelper!

Svarte 01/10/2008 kl. 18:16
kilden bruker

stemmer
1

Du kan koble direkte med en standard ODBC driver også. IBM versjonen vanligvis gir deg flere funksjoner som å kunne kalle programmer og sånt. Hvis du trenger bare SQL og lagrede prosedyrer, bør ODBC fungere.

Svarte 23/09/2008 kl. 13:42
kilden bruker

stemmer
1

Faktisk synes en webservice som en fin måte å løse problemet. En måte å unngå å ha en helt egen OS for det ville være å skrive den WebService i Java på toppen av AS400 verktøy for Java (som er ganske fin, btw). Det burde i det minste la deg kjøre din tjeneste lag på OpenBSD boksen også.

Svarte 25/08/2008 kl. 03:20
kilden bruker

stemmer
1

En webtjeneste er nesten helt sikkert veien å gå. Jeg er sikker på at du allerede har tenkt på dette, men siden du gjør PHP på begge sider, kan du snarvei ting litt ved hjelp serialize () for å bygge dine svardata i stedet for å bygge et skikkelig XML-dokument. Det er mindre fleksibelt i det lange løp, men det vil sannsynligvis få deg opp og kjører raskere.

Svarte 19/08/2008 kl. 21:51
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more