使用 PHP Cloud Foundry 应用程序连接到 IBM zOS 系统/DB2 表

Posted

技术标签:

【中文标题】使用 PHP Cloud Foundry 应用程序连接到 IBM zOS 系统/DB2 表【英文标题】:Connecting to IBM zOS system/DB2 table with a PHP Cloud Foundry app 【发布时间】:2018-05-16 14:01:44 【问题描述】:

是否可以从 w3ibm.bluemix/php Cloud Foundry 应用程序连接到 bluezone zOS 系统和它的 DB2 表?

我已经连接到 w3ibm.bluemix 上的 DB2 表(使用 db2 服务并在那里有一个表)。它工作正常,但现在我想连接到 zOS 系统。

当我尝试本地连接时,我收到以下错误消息:

由于许可问题,尝试连接到数据库服务器失败。 SQLSTATE=42968 SQLCODE=-1598

我有一个 lincense 文件,但它是 jar 格式 (db2jcc_license_cisuz.jar),我不知道如何将 jar 添加到 php 项目中..

当我尝试从 w3ibm.bluemix(云)连接时 - 我收到此错误 - 使用相同的代码:

找不到远程主机“******.UK.IBM.COM”。 SQLSTATE=08001 SQLCODE=-1336

提前谢谢!

【问题讨论】:

【参考方案1】:

您需要找到一个 Db2-connect 网关服务器(或安全网关),该服务器位于可从 bluemmix 访问并打开相关端口的区域中。此类访问、特定凭据、加密/密钥交换要求等可能需要批准。

我建议您让负责目标 Db2 系统的人员或管理目标数据的应用程序的服务所有者参与进来。

【讨论】:

【参考方案2】:

对于使用 PHP Cloud Foundry 应用程序从 IBM Bluemix 连接到蓝区 zOS DB2,

    专用Secure Gateway, PHP buildpack 带有 DB2 扩展和 zOS DB2 license file copied to the right place

需要。

对于第 2 点,PHP buildpack,您只需更新您的 ma​​nifest.yml,将 build-pack 值添加或更新为:

buildpack: https://github.com/ibmdb/php-buildpack

然后您必须将使用的 PHP 版本设置为预先设置了 DB2 扩展的版本,因此它是在构建期间安装的。为此,您需要在项目根文件夹中有一个 composer.json 文件 - 具有此值的示例:


    "require": 
        "php": "7.0.16"
    

【讨论】:

以上是关于使用 PHP Cloud Foundry 应用程序连接到 IBM zOS 系统/DB2 表的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Cloud Foundry Rabbit MQ 服务启用涡轮流

我的应用程序部署到 Cloud Foundry 失败

Pivotal Cloud Foundry - Spring Cloud 服务

如何在 Cloud Foundry 使用 Spring Boot 外部化配置

Node.js 应用程序、Express 和 Cloud Foundry

谷歌云平台上的 Cloud Foundry