Menghubungkan PHP dengan IBM i (AS/400)

I've punya proyek yang akan datang dimana saya akan perlu untuk menghubungkan website kami (PHP5/Apache 1.3/OpenBSD 4.1) untuk back-end sistem yang berjalan pada iSeries dengan OS400 V5R3 sehingga saya dapat mengakses beberapa tabel yang disimpan di sana. I've dilakukan beberapa pemeriksaan sekitar tapi saya mengalami beberapa hambatan.

Dari apa yang saya've melihat DB2 ekstensi dan DB2 software dari IBM hanya berjalan di Linux. I've mencoba menyusun ekstensi dengan semua software dari IBM dan bahkan mencoba mereka precompiled ibm_db2 ekstensi tidak berhasil. IBM hanya mendukung Linux jadi saya berpaling pada Linux emulasi di kernel tapi itu tidak't tampak untuk membantu apa-apa.

Jika seseorang telah berjalan di mendapatkan segala sesuatu untuk berjalan secara native di bawah OpenBSD yang akan menjadi besar, tapi apa yang saya pikir saya mungkin harus lakukan adalah menyiapkan kedua server yang menjalankan CentOS dengan DB2 diinstal (kemungkinan besar melalui ZendCore untuk IBM sejak itu tampaknya melakukan semua ini untuk saya) dan pengemudi sehingga saya dapat mengatur transaksi kecil server yang dapat saya posting melawan dan mendapatkan JSON representasi dari DB2 data yang saya butuhkan.

Apakah pilihan kedua tampaknya berlebihan atau tidak ada orang lain memiliki ide yang lebih baik?

Larutan

Anda telah melihat menghubungkan ke server menggunakan unixODBC? Jika aku ingat benar memiliki dukungan untuk IBM DB2 dan mengkompilasi pada OpenBSD. Check out http://www.php.net/odbc untuk informasi lebih lanjut mengenai PHP samping.

Jika anda dapat't mendapatkan itu untuk bekerja, pilihan untuk men-setup sebuah layanan web pada server Linux mungkin semua dapat anda lakukan.

Komentar (0)

Daripada setup 2 box, mengapa don't anda melihat ke dalam PHP Konektor untuk iSeries? Saya mainframe orang-orang mengatakan itu sangat mudah untuk setup pada kami iSeries di sini.

Kita menulis sebuah server sederhana di PHP yang memuat data model dari data DB2, serializes mereka, dan mengembalikan mereka ke pemanggil. Pendekatan ini berarti bahwa hanya lain aplikasi PHP dapat mengkonsumsi layanan tetapi's hanya jadi jauh lebih cepat pada kedua ujungnya hanya membuat objek dan mengirimkannya ke pipa.

Berikut adalah PDF dari IBM pada subjek: http://i-seriesusergroup.org/wp-content/uploads/2006/09/PHP%20for%20i5OS%20NESDND.pdf

Komentar (0)

Sepertinya layanan web akan menjadi jawaban bagi saya. Pada produksi kotak I'd suka tidak memiliki untuk pergi melalui kompilasi dan menjaga saya sendiri khusus instalasi PHP sejak ODBC dukungan yang harus dikumpulkan, menurut dokumentasi PHP.

Komentar (0)

Untuk kedua @John Downey, I've mendapat konektivitas untuk bekerja dengan PHP pada AS/400 dengan unixODBC.

Cek phpinfo() untuk melihat apakah unixODBC tersedia di dalamnya. Aku't harus compile pada SLES 10.

Komentar (0)

Mengapa tidak menggunakan PDO PHP? Aku harus menebak di sini karena saya tidak bisa menemukan sebuah daftar umum dari semua port yang tersedia untuk OpenBSD, tapi karena ada port untuk FreeBSD, NetBSD dll. mungkin anda beruntung juga.

(Saya kira bahwa meskipun OpenBSD link untuk FreeBSD's porter's handbook, Freshports tidak berlaku untuk sistem anda?)

Jika PDO tidak tersedia dan sejak saya berharap anda menggunakan port dan menurut link berikut ini ada php5-ODBC yang tersedia:

Jadi asumsi anda mengelola sistem anda melalui port, ada pointer anda.

Harapan yang membantu!

Komentar (0)

Layanan web hampir pasti cara untuk pergi. I'm yakin anda've sudah memikirkan hal ini, tapi karena anda're lakukan PHP di kedua sisi, anda dapat jalan pintas hal-hal yang sedikit dengan menggunakan serialize() untuk membangun data respon bukan bangunan yang tepat dokumen XML. It's kurang fleksibel dalam jangka panjang, tetapi mungkin akan membuat anda bangun dan berjalan lebih cepat.

Komentar (0)

Memang, jejaring tampaknya seperti cara yang bagus untuk memecahkan masalah. Salah satu cara untuk menghindari benar-benar terpisah OS untuk itu akan menulis webservice di Jawa di atas AS400 alat untuk Java (yang cukup bagus, btw). Yang setidaknya harus membiarkan anda menjalankan service layer pada OpenBSD kotak juga.

Komentar (0)

Anda dapat menghubungkan langsung menggunakan standar ODBC driver juga. IBM versi biasanya memberikan anda lebih banyak fitur seperti mampu untuk memanggil program-program dan hal-hal seperti itu. Jika anda hanya membutuhkan SQL dan stored prosedur, ODBC harus bekerja.

Komentar (0)