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.
Comments
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-pythonBonjour @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.
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:///')En effet c'était bien ça le problème, merci !
Cool 😀
Merci pour le message de confirmation.
Bonjour @Cyril Grosjean
l'erreur indique un "accès refusé".
Peux-tu donner plus d'information sur le code du BP PostFusionIntervention ?
💡 Cette question est considérée comme une question clé. Plus de détails ici.