从 centos 托管的 laravel 应用程序连接 db2 数据库

Connecting a db2 database from a centos hosted laravel application

我正在尝试从我的 laravel 应用程序 (5.8) 连接到 db2 数据库服务器 (iseries ibm)。该应用程序在 centos linux 服务器上 运行。

我看到 db2 不在此处列出的 4 种数据库类型中:https://laravel.com/docs/5.8/database#introduction

所以我尝试使用那个包 https://github.com/cooperl22/laravel-db2 但我遇到了以下错误:

Undefined class constant 'I5_ATTR_DBC_SYS_NAMING'

而且我有 5 个常量的错误: PDO::I5_ATTR_DBC_SYS_NAMING, PDO::I5_ATTR_COMMIT, PDO::I5_ATTR_JOB_SORT, PDO::I5_ATTR_DBC_LIBL, PDO::I5_ATTR_DBC_CURLIB.

另外,如果我评论这些常量,我会得到这个错误:

`Syntax error: -104 [IBM][CLI Driver][AS] SQL0104N An unexpected token "<END-OF-STATEMENT>" was found following "". Expected tokens may include: "( + - ? : DAY INF NAN RID ROW RRN". SQLSTATE=42601 (SQLNumResultCols[-104] at /root/PDO_IBM-1.3.6/ibm_driver.c:153) (SQL: select * from )`

我正在使用 db2_ibmi_ibm driver。

这是我的 php 链接到 driver 的信息:

已编辑:

php版本为7.3.4 centos版本是7

我还从头开始制作了一个 php 脚本 运行,我可以使用 db2_connection 方法从查询中获取结果。所以我很确定它与 PDO 相关:-/

好的,我发现问题了,我的方案和数据库有误,所以查询不正确。

我的情况不需要 PDO 常量。

感谢您的回答