forked from jam-py/jam-py
-
-
Notifications
You must be signed in to change notification settings - Fork 4
IBM DB2 support
Platipus edited this page Sep 13, 2024
·
8 revisions
Lets say this are the tables imported in Jam.py:
From the BD2 server console, we can use DB2INST1 user to list the tables:
db2 list tables for all |grep WEB
WEBREPORTS DBO T 2015-12-22-09.13.38.088070
WEBREPORTS_FILES DBO T 2015-12-22-09.13.38.397378
If we are connecting with DB2INST1 user from Jam.py application (or any other user, note the DBO above!), the Python ibm_db driver will report:
Traceback (most recent call last):
...
ibm_db_dbi.ProgrammingError: ibm_db_dbi::ProgrammingError:
Statement Execute Failed: [IBM][CLI Driver][DB2/LINUXX8664] SQL0204N
"DB2INST1.webreports" is an undefined name. SQLSTATE=42704 SQLCODE=-204
...
If we create the DB aliases, the error will go away:
db2 "create alias webreports for dbo.webreports"
db2 list tables for all |grep WEB
WEBREPORTS DB2INST1 A 2024-09-12-12.05.02.042117
WEBREPORTS_FILES DB2INST1 A 2024-09-12-13.21.30.675683
WEBREPORTS DBO T 2015-12-22-09.13.38.088070
WEBREPORTS_FILES DBO T 2015-12-22-09.13.38.397378
After creating the alias, Jam will happily present the page:
Instead of creating the aliases, we could use the SCHEMA_NAME, however, this would need expanding the database connection form with a Schema Name.
Not sure if this is worth doing, since no one ever asked for IBM DB2 support.