我有一个即将到来的项目,我需要将我们的网站( 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表示。

第二种选择是否有点矫枉过正,还是其他人有更好的想法?

===============>>#1 票数:18 已采纳

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

如果无法实现这一点,则可以选择在Linux服务器上设置Web服务。

===============>>#2 票数:4

而不是设置第二个框,为什么不查看PHP Connector for iSeries? 我的大型机家伙说,在我们的iSeries上设置非常容易。

我们在PHP中编写了一个简单的服务器,它从DB2数据加载数据模型,将它们序列化,然后将它们返回给调用者。 这种方法意味着只有另一个PHP应用程序可以使用该服务,但它的两端更快,只是序列化对象并将其发送到管道。

以下是来自IBM的关于该主题的PDF: http//i-seriesusergroup.org/wp-content/uploads/2006/09/PHP%20for%20i5OS%20NESDND.pdf

===============>>#3 票数:2

对于第二个@John Downey,我已经与unixODBC在AS / 400上使用PHP连接。

检查你的phpinfo(),看看unixODBC是否可用。 我没有必要在SLES 10上编译它。

===============>>#4 票数:2

看起来网络服务将成为我的答案。 根据PHP文档,在生产盒上我不需要编译和维护我自己的PHP特殊安装,因为需要编译ODBC支持。

===============>>#5 票数:1

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

===============>>#6 票数:1

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

(我想即使OpenBSD链接到FreeBSD的搬运工手册, Freshports也不适用于你的系统?)

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

因此,假设您通过端口管理系统,那么就有指针。

希望有所帮助!

===============>>#7 票数:1

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

===============>>#8 票数:1

实际上,网络服务似乎是解决问题的好方法。 避免拥有完全独立的操作系统的一种方法是在Java的AS400工具之上用Java编写Web服务(非常好,顺便说一下)。 这至少应该让你在OpenBSD盒子上运行你的服务层。

  ask by dragonmantank translate from so

未解决问题?本站智能推荐:

3回复

使用PHP 5.1.6与IBM DB2进行ODBC连接

我正在使用CentOS版本5.6(最终版)和PHP 5.1.6(cli)(内置:2012年2月2日18:24:47)。 我需要与同一局域网中的DB2数据库服务器连接。 db2版本是V5R3。 我已经安装了iSeriesAccess客户端以及unixODBC。 我的odbc.ini配置
3回复

Linux中的DB2 ODBC连接与PHP

对我来说这已经成为一件令人沮丧的事情了,经过两天不成功的尝试后我会向你们伸出援助之手。 我需要通过php与DB2建立odbc连接,但这是我的问题:我安装了unixODBC和php-odbc。 我在哪里可以找到iSeriesAccess-6.1.0-1.2.i386.rpm我在IBM网站上搜索
3回复

使用PDO连接到db2时,加载CRTJOBD中定义的* LIBL(库列表)

似乎还没有人遇到这个问题。...通过db2_connect我发现文档可以可靠地显示如何在连接时加载默认库列表( *LIBL ),而对于PDO什么也没有! 我想执行语句时不总是在文件名前指定库名。 我已经创建了一个JOB DESCRIPTION来加载这些库,当我使用PC5250仿真器登录时
1回复

使用PHP 5.3.6-13ubuntu3.6对DB2实例进行ODBC连接失败

我已经为Linux安装了DB2 Express-C V9.7,unixODBC php5-odbc和iSerie-5.4.0-1.6驱动程序,但是当我尝试连接到DB2服务器时,请将此消息返回给我: 我注意到tcpdump,php尝试连接端口8741而不是50000。 netstat
1回复

与ODBC岛的PDO连接不起作用

我正在尝试将odbc_connect转换为PDO连接,但始终出现错误。 在发生驱动程序错误之前,但我修复了php.ini文件以使用odbc PDO。 这是我现在成功连接的东西: 我正在尝试以下PDO,但它表示PHP Fatal error: Uncaught exception
4回复

PHP / Linux到AS / 400-db2

我试图在Linux Centos服务器上访问php作为/ 400(iSeries)db2数据库。 我尽可能地使用这个IBM指南,(尽管我们无法使GUI配置实用程序正常工作。) http://www-03.ibm.com/systems/i/soft...ide/index.html
1回复

AS400查询列标题

当我在Windows 10上使用Excel和ODBC查询DB2表时,我不知道如何进入Excel查询列标题。 我们正在IBM iSeries System 7.1上运行。 如果我使用ODBC连接,我得到的是所有列标题的编码,如下所示: 我不知道在查询设置期间是否犯了错误。
1回复

Excel到IBM DB2 Connection

我一直在尝试与IBM DB2数据库建立连接,我可以使用它来提取数据。 我的细节是: 服务器名称 数据库 用户名密码。 我尝试了两种不同的方式: 使用Excel: 在Excel中,我已经进入数据 - >来自其他来源 - >来自数据连接
5回复

DB2 AS / 400使用Go查询

我正在尝试将Golang与AS / 400 DB2数据库连接,我在机器上安装了iSeries Access驱动程序,这是现在的代码: 我能够使用Python在ODBC驱动程序上使用DSN-Less配置执行此操作,如下所示: 我尝试使用odbc,mgodbc和db2cli的Gola
3回复

AS400查询/ Excel ODBC联合错误

我在使用Excel为AS400 / DB2系统进行查询时遇到问题。 我正在尝试使用具有不同信息的两个不同的表,但是根据特定的SKU /客户ID(Storer)返回同一列中的过道/槽。 我认为UNION可以工作,但在尝试运行查询时,我得到“SQL0802 - 数据转换或数据映射错误”。