laravel - 从 centos 托管的 laravel 应用程序连接 db2 数据库
问题描述
我正在尝试从我的 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 信息:
编辑:
php版本是7.3.4 centos版本是7
我还从头开始运行 php 脚本,我可以使用 db2_connection 方法从查询中获取结果。所以我很确定它与 PDO 相关:-/
解决方案
好的,我发现了问题,我的方案和数据库错误,所以查询不正确。
在我的情况下,不需要 PDO 常量。
感谢您的回答
推荐阅读
- html - 媒体查询在第一个屏幕中有效,但在下一个屏幕中无效
- if-statement - ifc 函数的行为
- php - 如何准备好 Stripe Checkout V3 SCA
- node.js - 时间戳插入给出错误值
- html - 如何使跨度出现在另一个跨度下?
- outlook-addin - MS Outlook 2016 自定义插件可以将列添加到“选择房间”面板吗?
- java - 如何将扁平的 LinkedHashMap 转换为代表层次结构的 LinkedHashMap
- java - Java:无法访问外部档案
- sql - 仅返回匹配超过 2 个条件的结果
- scala - 广播有关 Spark 作业的更新