将PHP连接到IBM i(AS / 400)

我有一个即将开始的项目,我需要将我们的网站( PHP5 / Apache 1.3 / OpenBSD 4.1 )连接到我们的后端系统,并在具有OS400 V5R3的iSeries上运行,表存储在那里。我已经做了一些检查,但遇到了一些障碍。

根据我所见,IBM的DB2扩展和DB2软件只能在Linux下运行。我试着用IBM的所有软件编译扩展,甚至尝试过预编译的ibm_db2扩展,但没有运气。 IBM仅支持Linux,因此我在内核中启用了Linux仿真,但似乎没有任何帮助。

如果有人在OpenBSD下运行所有​​东西都会很好,但我想我可能需要做的是建立第二台服务器,运行安装了DB2的CentOS(很可能通过ZendCore for IBM,因为它好像做了所有事情这对我来说)和驱动程序,以便我可以建立一个小型事务服务器,我可以发布并获取我需要的DB2数据的JSON表示。

第二个选项看起来是否过分,或者其他人是否有更好的想法?

0
额外 编辑
意见: 1

9 答案

MxM中的M的正规束与M的正切束同构,因此MxM中的M的管状邻域N同构于M的正切束。具有孤立零的正切束的截面s因此给出了子流形M'的N \ subset MxM具有以下属性:

1)M'与M同位素

2)M与M的交点与s的零点在双射中(其符号由零点索引给出)。

然后从Hopf指数公式得到期望的结果。

17
额外

以下是我一直认为会起作用的一种理论上的论证,但从未真正尝试过:

第三个流形$ C $内的两个横向子流形$ A $和$ B $的互补维数的交点数可以计算为$ \ chi(A \ otimes B)$,其中我使用$ A $和$ B $来表示相应流形的结构滑轮,并且张量积在$ C $ -mod中进行。 在交叉点不是横向的情况下,如果你得到一个派生张量积(假设一个平面族把一个交叉点移动到一个普通位置,并且在平坦变形下使用$ \ chi $的不变性)代表另一个交叉点的复合体,也许?)。

假设如上所述,$ M \ times M $中对角线$ M $的自交$ M.M $为$ \ chi(M \ otimes ^ L M)$。 由于$ M $是平滑的,所以$ \ text {Tor} ^ i(M,M)= \ Omega ^ i $。 通过$ \ chi $的可加性,您可以得到:

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

另一方面,de Rham定理(或者Poincare引理?)用$ \ chi(M,\ text {constant sheaf})= \ chi(M)$标识右边,所以我们完成了。

7
额外

看起来Web服务将成为我的答案。根据PHP文档,在生产环境中,我宁愿不必编译和维护自己的PHP特殊安装,因为需要编译ODBC支持。

0
额外

事实上,web服务似乎是解决问题的好方法。避免使用完全独立的操作系统的一种方法是使用Java的AS400工具(这很好,顺便说一句)在Java中编写Web服务。这应该至少让你在OpenBSD盒子上运行你的服务层。

0
额外

您也可以使用标准的ODBC驱动程序直接连接。 IBM版本通常会为您提供更多功能,例如可以调用程序等。如果你只需要SQL和存储过程,ODBC应该可以工作。

0
额外

Web服务几乎肯定是要走的路。我相信你已经想到了这一点,但是既然你在做双方的PHP,你可以通过使用serialize()构建你的响应数据而不是构建一个合适的XML文档来简化一些事情。从长远来看,它的灵活性较差,但它可能会让您更快速地运行。

0
额外

为什么不使用PHP的PDO?我不得不在这里猜测,因为我找不到所有可用于OpenBSD的端口的公开列表,但由于FreeBSD有一个端口,NetBSD等也许你也会幸运。

(我猜即使OpenBSD连接到FreeBSD的porter的手册, Freshports 不适用于您的系统?)

如果PDO不可用,并且我希望您使用端口,并且根据以下链接,可以使用php5-ODBC:

所以假设你通过端口管理你的系统,你的指针。

希望有所帮助!

0
额外

您是否使用 unixODBC 连接到服务器?如果我没有记错的话,它支持IBM DB2并在OpenBSD上编译。查看 http://www.php.net/odbc 获取更多关于PHP方面的信息。

如果你无法做到这一点,那么可以在Linux服务器上设置Web服务。

0
额外

对于@John Downey来说,我已经通过unixODBC在AS / 400上使用PHP进行连接。

检查你的phpinfo()以查看unixODBC是否可用。我不必在SLES 10中编译它。

0
额外