PHP 中的 zOS DB2 连接字符串 - 从 Bluemix 到 zOS

zOS DB2 connection string in PHP - from Bluemix to zOS

我有一个来自云上 DashDB (DB2) 的示例连接字符串,当我从 Bluemix(一个 PHP 云铸造应用程序)连接到基于云的 DB2 时,它起作用了。

现在我想使用安全网关连接到 zOS DB2 数据库。我已经设置了 SG,并且还设置了 SG 主机名和端口。

这是连接字符串准备使用来自 DashDB 的示例并添加 Secure Gatway 主机名和端口号 以及我的密码和我的 zOS DB2 数据库的用户 ID:

        $database = "EU***DB2*";        
        $hostname = "cio-sg-02.integration.ibmcloud.com";  
        $user     = "**myuserID**";   
        $password = "**myPW**";   
        $port     = **portfromSecureGatway**;          
        $ssl_port = **portfromSecureGatway**;          

这是构建的连接字符串(也来自 DashDB 示例..)

$driver  = "DRIVER={IBM DB2 ODBC DRIVER};";
        $dsn     = "DATABASE=$database; " .
                   "HOSTNAME=$hostname;" .
                   "PORT=$port; " .
                   "PROTOCOL=TCPIP; " .
                   "UID=$user;" .
                   "PWD=$password;";
        $ssl_dsn = "DATABASE=$database; " .
                   "HOSTNAME=$hostname;" .
                   "PORT=$ssl_port; " .
                   "PROTOCOL=TCPIP; " .
                   "UID=$user;" .
                   "PWD=$password;" .
                   "SECURITY=SSL;";
        $conn_string = $driver . $dsn;     # Non-SSL
        //$conn_string = $driver . $ssl_dsn; # SSL

我是否为 zOS/DB2 使用了正确的驱动程序?

这里是 PHP 中的连接命令:

$connection = db2_connect($conn_string,$user,$password);

我为 Secure Gateways 支持团队开了一张票,因为我收到 SQL30081N 各种设置的错误消息(基于我是否使用 SG 桌面客户端连接 - 它 运行 , - 它不是 运行,我正在使用托管的 SG 客户端。如果我不使用 SG 并尝试从我的桌面直接连接到 zOS(这种情况下我会收到许可证错误,因为我没有zOS 许可证文件尚未设置。)

有没有可能是丢失的许可证也导致了SQL30081N错误?

支持告诉我有一个应用程序错误。有没有可能是我使用了错误的连接字符串?

SQL30081N 尚未在 Web 上找到任何建议。但是由于 Secure Gatway ACL 文件内容,我收到了此错误消息。 ...修复它,现在可以使用了。