#php #db2 #odbc #db2-400
#php #db2 #odbc #db2-400
Вопрос:
Я пытаюсь подключиться к базе данных db2, используя приложение symfony php, через драйвер ODBC и установленный драйвер db2 (пакет драйверов IBM Data Server версии 11.5). Я использую MAC OS 10.15 CATALINA с APACHE, а PHP переустановлен с помощью brew.
Я застрял на этой ошибке:
SQLSTATE[01000] SQLDriverConnect: 0 [unixODBC] [Диспетчер драйверов] Не удается открыть библиотеку ‘IBMDB2’: файл не найден
Где IBMDB2 ссылается на DSN моего драйвера odbc, связанного с драйвером, установленным на /Applications/dsdriver/lib/libdb2.dylib
Не могли бы вы, пожалуйста, помочь мне решить эту ошибку «файл не найден» (конечно, файл существует в /Applications/dsdriver/lib/libdb2.dylib)?
Это мой файл /Library/ODBC/odbc.ini:
[ODBC Data Sources]
IBMDB2 = IBM i Access ODBC Driver
[IBMDB2]
Driver = /Applications/dsdriver/lib/libdb2.dylib
Это мой файл /Library/ODBC/odbcinst.ini:
[IBM i Access ODBC Driver]
Description=IBM i Access ODBC Driver
Driver=/Applications/dsdriver/lib/libdb2o.dylib
Setup=/Applications/dsdriver/lib/libdb2o.dylib
Это результат выполнения команды «env»
TMPDIR=/var/folders/8_/l5_n27ds14ndr7tmw0dg97jr0000gn/T/
XPC_FLAGS=0x0
LaunchInstanceID=57ABF727-826C-4D96-9032-BDBB8637FFD6
TERM=xterm-256color
LANG=fr_FR.UTF-8
SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.E2JaUTZ9TW/Listeners
SECURITYSESSIONID=186a6
XPC_SERVICE_NAME=0
TERM_PROGRAM=Apple_Terminal
TERM_PROGRAM_VERSION=433
TERM_SESSION_ID=AA52FB63-601C-4003-8275-6C3E365531DD
SHELL=/bin/zsh
HOME=/Users/yornletard
LOGNAME=yornletard
USER=yornletard
PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
SHLVL=1
PWD=/Users/yornletard
OLDPWD=/Users/yornletard
ODBCINI=/Library/ODBC/odbc.ini
ODBCINSTINI=/Library/ODBC/odbcinst.ini
_=/usr/bin/env
Комментарии:
1. пожалуйста, отредактируйте свой вопрос, чтобы указать полную версию
IBM i access
установленного вами продукта. Можете ли вы также подтвердить, что целевая база данных Db2 находится на AS / 400 (i-series)?2. Я установил «IBM Data Server Driver Package v11.5». База данных DB2 полностью работоспособна, поскольку я получаю к ней доступ из того же приложения symfony, установленного в ОС ubuntu.
3. Пожалуйста, ответьте на вопрос: подтвердите, что Db2-database работает на AS / 400 (i series). Это означает, что база данных находится на as / 400. Вы не можете смешивать свои драйверы (между пакетом драйверов версии 11.5 и продуктом IBM i access).
4. Я подтверждаю, что база данных db2 работает на AS / 400
5. Вам нужно использовать только файлы из
IBM i access
продукта с unixODBC. В INI-файлах не ссылайтесь на файлы из драйвера IBM data server (поскольку для подключения к AS / 400 им требуется файл лицензии Db2-connect), которыйIBM i access
не нужен библиотекам. Ваша конфигурация недопустима.
Ответ №1:
Как сказал мне мао, я смог подключиться из моей mac os к базе данных db2 с помощью продукта «IBM i access». Я использовал неправильный драйвер пакета. Благодаря ему
Я загружаю продукт Ibm i access: https://www.ibm.com/support/pages/ibm-i-access-client-solutions
Затем устанавливается и автоматически настраивается с помощью встроенного скрипта (требуется, чтобы unixODBC был установлен с brew)
/Library/IBMiAccess/register_driver