Je suis en train d'utiliser SQLalchemy pour un projet Python et je veux avoir une chaîne de connexion propre pour accéder à ma base de données. Par exemple :
engine = create_engine('postgresql://user:pass@host/base_de_données')
Le problème est que mon mot de passe contient une séquence de caractères spéciaux qui sont interprétés comme des délimiteurs lorsque j'essaie de me connecter.
Je réalise que je pourrais simplement utiliser engine.URL.create()
et ensuite transmettre mes identifiants de cette manière :
import sqlalchemy as sa
connection_url = sa.engine.URL.create(
drivername="postgresql",
username="utilisateur",
password="p@ss",
host="hôte",
database="base_de_données",
)
print(connection_url)
# postgresql://utilisateur:p%40ss@hôte/base_de_données
Mais je préférerais vraiment utiliser une chaîne de connexion si c'est possible.
Donc pour être clair, est-il possible de coder ma chaîne de connexion, ou la partie mot de passe de la chaîne de connexion - afin qu'elle puisse être correctement analysée ?