Код: Выделить всё
OS: Fedora 40
Kernel: 6.10.6-200
Installed DB2 client: v11.5.9_linuxx64_client.tar.gz
python 3.12.5
ibm_db 3.2.3
Код: Выделить всё
$DB2INSTANCE db2inst1
$DB2_HOME /home/db2inst1/sqllib
$IBM_DB_HOME /home/db2inst1/sqllib
$LD_LIBRARY_PATH /home/db2inst1/sqllib/lib64:/home/db2inst1/sqllib/lib64/gskit:/home/db2inst1/sqllib/lib32
Код: Выделить всё
db2 "catalog tcpip node remote server
remote_instance "
db2 "catalog database as at node authentication SERVER_ENCRYPT"
Вот и часть Python
Я следовал инструкциям https://www.ibm.com/docs/en/db2/11.1?to ... ase-server
Код: Выделить всё
import ibm_db
conn = ibm_db.connect("DATABASE=;HOSTNAME=;PORT=;PROTOCOL=TCPIP;UID=;PWD=", "", "")
Код: Выделить всё
import ibm_db
conn = ibm_db.connect("", "", "")
Код: Выделить всё
Exception: [IBM][CLI Driver] SQL1531N The connection failed because the name specified with the DSN connection string keyword could not be found in either the db2dsdriver.cfg configuration file or the db2cli.ini configuration file. Data source name specified in the connection string: "". SQLCODE=-1531
(Я уже удалил ibm_db и переустановил его)
Спасибо @mao
Я не хочу создавать и редактировать db2dsdriver.cfg вручную, поскольку другие приложения используют каталогизированный соединения с db2. Поэтому редактировать информацию о соединении дважды нецелесообразно.
Но можно создать файл db2dsdriver.cfg с помощью команды db2dsdcfgfill.
Чтобы сгенерировать файл db2dsdriver.cfg, я выполнил следующие инструкции:
https://www.ibm.com/docs/en/db2/11.5?topic=file-data -server-driver-configuration-location
https://www.ibm.com/docs/en/db2/11.5?to ... figuration
https://www.ibm .com/docs/en/db2/11.5?topic=dsdcf-copying-existing-database-directory-information-into-db2dsdriver-файл-конфигурации
Код: Выделить всё
db2dsdcfgfill -i db2inst1 -o /home/db2inst1/sqllib/cfg
SQL0000W Die Anweisung konnte fehlerfrei verarbeitet werden.
Я просмотрел три файла db2dsdriver.xml, но не нашел своих каталогизированных соединений.
Код: Выделить всё
find / -type f -name "db2dsdriver*" 2>/dev/null
/home//.local/lib/python3.12/site-packages/clidriver/cfg/db2dsdriver.cfg.sample
/home//.local/lib/python3.12/site-packages/clidriver/cfg/db2dsdriver.xsd
/home//git/
/.venv/lib/python3.12/site-packages/clidriver/cfg/db2dsdriver.cfg.sample
/home//git//.venv/lib/python3.12/site-packages/clidriver/cfg/db2dsdriver.xsd
/opt/ibm/db2/V11.5/cfg/db2dsdriver.cfg.sample
/opt/ibm/db2/V11.5/cfg/db2dsdriver.xsd
Подробнее здесь: https://stackoverflow.com/questions/790 ... ase-ibm-db