Extraction DB2 avec PYTHON3
Posté : mer. 11 août 2021, 11:10:37
Bonjour,
J’essaye d’atteindre la BDD d’un IBM i (X) à partir d’un autre IBM i (Y) avec python3.
Je ne maitrise pas l’environnement unix/linux/aix
En utilisant pyodbc j’ai pu extraire des données de la bdd distante, mais impossible en utilisant ibm_db
Mes 2 système sont en V7R3 niveau de cum 20310, TR9, groupe PTF DB2 for IBM i niveau 23, IBM OPEN SOURCE SOLUTIONS FOR I niveau 6
J’ai installé tous les modules via ACS/Gestion de module open source/YUM
Python3
Python3-itoolkit
Python3-ibm_db
Python3-devel
… (tous les packages python3 disponibles)
Quelque soit ce que je mets au niveau du ibm_db.connect, ma connexion echoue ensuite avec l’erreur « Exception: Supplied connection object Parameter is invalid » lors de l’exécution d’un sql, ou lors de l’appel de ibm_db.client_info => je pense que ma connexion n’est pas établie.
Sous QSHELL :
Python3
import ibm_db
conn = ibm_db.connect("*LOCAL", "MonUser", "MonPwd") => test pour connexion en local
(ou conn = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=MaBase;HOSTNAME=IPServeur;PORT=446;PROTOCOL=TCPIP;UID=MonUser;PWD=MonPwd;" pIBM i distant)
clientinfo = ibm_db.client_info(conn)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
Exception: Supplied connection object Parameter is invalid
Je ne sais pas si le bon driver est installé ni si la definition : DRIVER={IBM DB2 ODBC DRIVER}; est correcte => j’ai pris ca sur le net
D’un coté j’ai lu que le module ibm_db avait son driver, et d’un autre coté j’ai lu qu’il fallait installer le driver « IBM Data Server Driver for ODBC and CLI »
Si oui, lequel installer pour un ibm i (pour qsh ou pase/qp2term : Aix 32 bit? Aix 64 bits ? linux ? … ?
Quelqu’un a une idée de ce que j’aurais pu oublier d’installer ?
Merci
J’essaye d’atteindre la BDD d’un IBM i (X) à partir d’un autre IBM i (Y) avec python3.
Je ne maitrise pas l’environnement unix/linux/aix
En utilisant pyodbc j’ai pu extraire des données de la bdd distante, mais impossible en utilisant ibm_db
Mes 2 système sont en V7R3 niveau de cum 20310, TR9, groupe PTF DB2 for IBM i niveau 23, IBM OPEN SOURCE SOLUTIONS FOR I niveau 6
J’ai installé tous les modules via ACS/Gestion de module open source/YUM
Python3
Python3-itoolkit
Python3-ibm_db
Python3-devel
… (tous les packages python3 disponibles)
Quelque soit ce que je mets au niveau du ibm_db.connect, ma connexion echoue ensuite avec l’erreur « Exception: Supplied connection object Parameter is invalid » lors de l’exécution d’un sql, ou lors de l’appel de ibm_db.client_info => je pense que ma connexion n’est pas établie.
Sous QSHELL :
Python3
import ibm_db
conn = ibm_db.connect("*LOCAL", "MonUser", "MonPwd") => test pour connexion en local
(ou conn = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=MaBase;HOSTNAME=IPServeur;PORT=446;PROTOCOL=TCPIP;UID=MonUser;PWD=MonPwd;" pIBM i distant)
clientinfo = ibm_db.client_info(conn)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
Exception: Supplied connection object Parameter is invalid
Je ne sais pas si le bon driver est installé ni si la definition : DRIVER={IBM DB2 ODBC DRIVER}; est correcte => j’ai pris ca sur le net
D’un coté j’ai lu que le module ibm_db avait son driver, et d’un autre coté j’ai lu qu’il fallait installer le driver « IBM Data Server Driver for ODBC and CLI »
Si oui, lequel installer pour un ibm i (pour qsh ou pase/qp2term : Aix 32 bit? Aix 64 bits ? linux ? … ?
Quelqu’un a une idée de ce que j’aurais pu oublier d’installer ?
Merci