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

时间:2019-05-09 09:45:58

标签: laravel eloquent centos db2 db2-400

我正在尝试从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驱动程序。

这是链接到驱动程序的我的php信息:

phpinfo

已编辑:

php版本是7.3.4 centos版本是7

我也从头开始运行了一个php脚本,并且可以使用db2_connection方法从查询中获取结果。所以我很确定这与PDO有关:-/

1 个答案:

答案 0 :(得分:0)

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

在我的情况下,不需要PDO常量。

感谢您的回答