Question Cyril Grosjean · Jan 10, 2024

Problème d'accès à la base de données avec SQLAlchemy

Bonjour,

Nous sommes confrontés à un problème sur notre environnement de pré-production, nous n'arrivons pas à corriger cette erreur qui n'apparait pas dans notre environnement local :

ERREUR <Ens>ErrGeneral: Failed to create instance of GESTION01.Prestataire.PostFusionIntervention BP 'Post Fusion Intervention' : ERREUR #5002: Erreur ObjectScript: OnInit+4^Grongier.PEX.BusinessProcess.1^2^ do ..%class."_dispatch_on_init"($this) *<class 'sqlalchemy.exc.OperationalError'>: (intersystems_iris.dbapi._DBAPI.OperationalError) Accès refusé (Background on this error at: https://sqlalche.me/e/20/e3q8) -

 

Pour informations, nos environnements en local tournent sur un docker linux avec IRIS Community, et notre environnement de pré-prod est sur une machine Windows (installé directement sur la machine, sans docker) dont le $ZV est celui du post.

Est-ce qu'il s'agit d'un problème d'accès administrateur quelque part ?

Par ailleurs, nous n'utilisons absolument pas SQLAlchemy dans le BP PostFusionIntervention, il est initialisé avec la librairie iop.

Product version: IRIS 2023.1
$ZV: IRIS for Windows (x86-64) 2023.1.2 (Build 450U) Mon Oct 16 2023 10:17:46 EDT [Health:3.5.0]

Comments

Sylvain Guilbaud · Jan 12, 2024

Bonjour @Cyril Grosjean 
le pb vient peut-être des librairies python requises qui n'ont pas été correctement installées sur l'environnement WIndows.
Tu peux essayer de le résoudre en installant les librairies python sur Windows via la commande irispip 

C:\InterSystems\IRIS\bin>irispip install --target C:\InterSystems\IRIS\mgr\python iris-pex-embedded-python
0
Cyril Grosjean  Jan 15, 2024 to Sylvain Guilbaud

Bonjour @Sylvain Guilbaud 

J'importais du code SQLAlchemy que j'avais moi-même créé, le code source est un peu long mais la partie importante est visible sur ce post: https://fr.community.intersystems.com/post/acc%C3%A9der-%C3%A0-une-reco…

Après une recherche avec toute l'équipe intéropérabilité, nous avons fait cette commande et nous avons même essayé d'installer toutes les libraries contenues dans notre requirement pip avec irispip (en utilisant les même arguments que la commande ci-dessus). Cependant nous avons toujours l'erreur. SQLAlchemy n'étant pas utilisé dans le fichier PostFusionIntervention (import inutile), nous l'avons enlevé mais nous avons toujours le problème sur Windows. Je pense qu'il s'agit à nouveau d'un problème administrateur sur la machine.

0
Sylvain Guilbaud  Jan 15, 2024 to Cyril Grosjean

Bonjour @Cyril Grosjean 
essaie d'utiliser embedded python, en remplaçant la connexion par create_engine('iris+emb:///'):

from sqlalchemy import create_engine

_engine = create_engine('iris+emb:///')
0
Cyril Grosjean  Jan 15, 2024 to Sylvain Guilbaud

En effet c'était bien ça le problème, merci !

0
Sylvain Guilbaud  Jan 15, 2024 to Cyril Grosjean

Cool 😀
Merci pour le message de confirmation.

0
Sylvain Guilbaud · Jan 12, 2024

Bonjour @Cyril Grosjean 

l'erreur indique un "accès refusé".

Peux-tu donner plus d'information sur le code du BP PostFusionIntervention ?

0