Vă mulțumim pentru susținere

Conectați PHP la IBM i (AS / 400)

Am un proiect viitoare în care va trebui să conectați site-ul nostru ( PHP5 / Apache 1.3 / OpenBSD 4.1 ) la sistemul nostru back-end care rulează pe un iSeries cu OS400 V5R3, tabelele stocate acolo. Am făcut niște verificări, dar am făcut niște blocaje.

Din ceea ce am văzut, extensiile DB2 și software-ul DB2 de la IBM rulează numai sub Linux. Am încercat să compilez extensiile cu tot software-ul de la IBM și chiar am încercat extensia ibm_db2 precompilată fără noroc. IBM suportă doar Linux, așa că am pornit emularea Linux în kernel, dar asta nu pare să ajute nimic.

Dacă cineva a executat totul pentru a rula pe OpenBSD, ar fi grozav, dar ceea ce cred că ar trebui să fac este să instalez un server secundar care rulează CentOS cu DB2 instalat (cel mai probabil prin ZendCore pentru IBM, deoarece pare să facă totul acest lucru pentru mine) și conducătorul auto, astfel încât să pot configura un server de tranzacții mic pe care să îl pot publica și să obțin o reprezentare JSON a datelor DB2 de care am nevoie.

Are cea de-a doua opțiune o suprasolicitare sau altcineva are idei mai bune?

0
adăugat editat

9 răspunsuri

Legătura normală cu M în MxM este izomorfă cu mănunchiul tangent de M, astfel încât o vecinătate tubulară N de M în MxM este izomorfă cu mănunchiul tangent al lui M. O secțiune s din pachetul tangent cu zerouri izolate dă astfel un submanifold M ' din N \ subset MxM cu următoarele proprietăți:

1) M 'este izotopic la M.

2) Intersecțiile lui M 'cu M sunt în bijecția cu zerourile s (și semnele lor sunt date de indicii zeroului).

Rezultatul dorit rezultă apoi din formula indexului Hopf.

17
adăugat

Iată o încercare la un argument teoretic despre care am crezut întotdeauna că ar funcționa, dar nu a încercat niciodată:

Numărul de intersecții a două submanifolduri transversale $ A $ și $ B $ de dimensiune complementară în interiorul unui al treilea colector $ C $ poate fi calculat ca $ \ chi (A \ otimes B) $, unde folosesc $ A $ și $ B $ pentru a desemna barele de structură ale colectoarelor corespunzătoare, iar produsul tensor are loc în $ C $ -mod. În cazul în care intersecția nu este transversală, acest lucru se pare că încă funcționează cu condiția să luați un produs tensor derivat (să luați o familie plat care se deplasează unul dintre intersectanții într-o poziție generală și să folosească invarianța lui $ \ chi $ sub deformare plată pentru o perfecțiune complex reprezentând celălalt intersect, poate?).

Presupunând cele de mai sus, auto-intersecția $ M.M $ a diagonale $ M $ în $ M \ ori M $ este $ \ chi (M \ otimes ^ L M) $. Deoarece $ M $ este netedă, $ \ text {Tor} ^ i (M, M) = \ Omega ^ i $. Prin aditivitatea lui $ \ chi $, primiți:

$ M.M = \ sum_i \ chi (\ Omega ^ i) (-1) ^ i $

Pe de altă parte, teorema lui de Rham (sau Poincare lemma?) Identifică partea dreaptă cu $ \ chi (M, \ text {constant sheaf}) = \ chi (M) $, așa că am terminat.

7
adăugat

Se pare că un serviciu web va fi răspunsul pentru mine. Pe o cutie de producție aș prefera să nu trec prin compilarea și menținerea propriei instalări speciale de PHP, deoarece suportul ODBC trebuie să fie compilat, conform documentației PHP.

0
adăugat

Într-adevăr, o webservice pare o modalitate foarte bună de a rezolva problema. O modalitate de a evita existența unui sistem complet separat pentru acesta ar fi să scriem webservice în Java în partea de sus a instrumentelor AS400 pentru Java (care sunt destul de frumoase, btw). Acest lucru ar trebui cel puțin să vă lase să rulați și stratul dvs. de service pe caseta OpenBSD.

0
adăugat

Vă puteți conecta direct folosind un driver standard ODBC, de asemenea. Versiunea IBM vă oferă, de obicei, mai multe funcții cum ar fi posibilitatea de a apela programe și așa ceva. Dacă aveți nevoie doar de proceduri SQL și stocate, ODBC ar trebui să funcționeze.

0
adăugat

Un serviciu web este aproape sigur modul de a merge. Sunt sigur că te-ai gândit deja la asta, dar din moment ce faci PHP pe ambele părți, poți scurta lucrurile puțin, folosind serialize () pentru a-ți construi datele de răspuns în loc să construiești un document XML adecvat. E mai puțin flexibil pe termen lung, dar probabil că te va face să te duci mai repede.

0
adăugat

De ce nu folosiți DOP din PHP? Trebuie să ghicesc aici, deoarece nu am putut găsi o listă publică a tuturor porturilor disponibile pentru OpenBSD, dar din moment ce există un port pentru FreeBSD, NetBSD etc., poate că aveți și noroc.

(Cred că, deși legăturile OpenBSD cu manualul portarului FreeBSD, Freshports nu se aplică pentru sistemul dvs.?)

Dacă DOP nu este disponibil și deoarece sper să utilizați porturi și în conformitate cu următorul link există php5-ODBC disponibil:

Deci, presupunând că gestionați sistemul prin porturi, există indicii.

Sper că vă ajută!

0
adăugat

Te-ai uitat la conectarea la server folosind unixODBC ? Dacă îmi amintesc corect, are suport pentru IBM DB2 și se compilează pe OpenBSD. Consultați http://www.php.net/odbc pentru mai multe informații despre partea PHP.

Dacă nu reușești să lucrezi, opțiunea de a configura un serviciu web pe un server Linux poate fi tot ce poți face.

0
adăugat

Pentru a doua oară @John Downey, am obținut conectivitate pentru a lucra cu PHP pe un AS / 400 cu unixODBC.

Verificați phpinfo () pentru a vedea dacă unixODBC este disponibil în el. Nu a trebuit să o compilez pe SLES 10.

0
adăugat