× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Hi Sean,

Well, the db2 functions are purely SQL functions. They are provided by IBM as part of the "ibm_db2" driver for PHP. They can be used to access any DB2 database (not just the one on i). Including DB2 for Linux or DB2 for Windows. It also enables access to IBM Cloudscape or Apache Derby databases.

The server side of the DB2 driver is built-in to IBM i.

The PHP driver for ibm_db2 is free and available on all platforms. However, it has a dependency on additional IBM DB2 client software. This isn't a problem on i, since IBM provides that client software with the OS. Zend provides the ibm_db2 driver with Zend Core, Zend Platform and Zend Server, and you've already got the DB2 client software on i, so you're all set. If you install the open source version of PHP, you can install the ibm_db2 driver there as well.

However, if you decide to run your PHP on another platform (Linux, Windows, etc) and have it connect to your IBM i, then you'll need to get the DB2 client software for that platform. (IBM DB2 Universal Database client or IBM DB2 Connect). And I don't think that stuff is available across all platforms (like FreeBSD) It probably isn't free, either. (But I don't know the details.)

The i5 functions can do SQL, program calls, commands, native I/O, data queues, data areas, user spaces, spooled files, object lists, job lists and job logs. (.. and I may have missed stuff ..). They are part of a 3rd party software package called 'EasyCom' from a company called "Aura Equipments" ( http://www.easycom-aura.com ). Zend includes them with their PHP servers, and presumably pays Aura a license fee for that. You'll see a blurb about that in QSYSOPR after the software is loaded (typically, after an IPL).

When running the server-side of EasyCom runs in the ZEND subsystem and the job is named I5_COMD, the program name is EASYCOMD.

Since Zend includes the i5 functions with the i5 editions of Zend Core and Zend Platform (and presumably Zend Server as well) you'll have these functions on i. Again, if you want to run your PHP on another platform to connect to the IBM i database, you'll probably have to purchase EasyCom for that other platform. Likewise, if you want to run the open source PHP on i, you'll have to buy EasyCom.

The db2 drivers are much older. At first, they supported a lot of functionality that i5 didn't support, however, the i5 drivers caught up. As far as I know, the i5 drivers now support everything that the db2 ones do. (but I haven't gone over it with a fine-toothed comb)

I have no clue if there's a performance difference between them. If there is, I haven't noticed it.


Porterfield, Sean wrote:
Specifically which I should use and why. I posted here a while back
about getting started and got a reply that showed i5_ functions. I
coded some pages with them that worked great. Then later I heard
about db2_ functions. Just wondering if I'm missing out on anything
other than portability which doesn't interest me. (My data is on
System i; my php is on System i; no need to change that.) I thought
I read somewhere about db2_ functions being more efficient, but that
could have been a rumor. I don't get consistent times on my pages,
so a parallel test didn't seem worth the effort.

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.