Подключение базы данных db2 из размещенного в Centos приложения laravel - PullRequest
0 голосов
/ 09 мая 2019

Я пытаюсь подключиться к серверу базы данных db2 (iseries ibm) из моего приложения laravel (5.8). Приложение работает на сервере 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 сентос версия 7

Также я запустил скрипт php с нуля и могу получить результаты запроса, используя метод db2_connection. Так что я уверен, что это связано с PDO: - /

1 Ответ

0 голосов
/ 09 мая 2019

Хорошо. Я обнаружил проблему, моя схема и база данных были неверными, поэтому запрос был неправильным.

В моем случае константы PDO не нужны.

Спасибо за ваши ответы

...