Aller au contenu

Ajouter une table de Base de données (PostGIS ou Oracle Spatial)

Une table PostGIS ou Oracle Spatial pourra être ajoutée via le plugin dans les conditions suivantes :

Plusieurs connexions similaires

Si plusieurs connexions ont été configurées pour des bases de données dont le nom est identique, il est possible d'indiquer au plugin la connexion a utiliser pour accéder aux données stockées dans la base concernée.

Connexion configurée dans le gestionnaire des sources de données de QGIS

En indiquant mot de passe et nom d'utilisateur et en choisissant de les stocker (pour les bases de données Oracle et PostGIS) :

Pour les bases de données PostgreSQL uniquement

Il est possible d'indiquer le nom d'un service dans le champ "Service" du formulaire de création d'une nouvelle connexion à une base de données (voir capture ci-dessus).

Ce service doit avoir été spécifié dans un fichier de configuration pg_service.conf.

L'emplacement du fichier pg_service.conf doit avoir être enregistré dans une variable d'environnement "PGSERVICEFILE" configurée dans l'OS et dans QGIS (Menu "Préférences" > "Options..." > onglet "Système" > Rubrique "Environnement" > bouton "+").

Connexion configurée dans le fichier db_connections.json du dossier _user

Emplacement du fichier db_connections.json
C:\Users\%userprofile%\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\isogeo_search_engine\_user\db_connections.json
/home/%userprofile%/.local/share/QGIS/QGIS3/profiles/default/python/plugins/isogeo_search_engine/_user/db_connections.json

En inscrivant les informations de connexion dans le fichier _user/db_connections.json qui se trouve dans le répertoire d'installation du plugin QGIS Isogeo.

Exemples de contenu du fichier _user/db_connections.json

Configurer une seule connexion à une base de données PostgreSQL :

{
    "Oracle" : [],
    "PostgreSQL" : [
        {
            "connection_name" : "Nom de la connexion (il doit être unique)",
            "host" : "hôte",
            "port" : "port", 
            "database" : "nom de la base de données",
            "username" : "nom d'utilisateur",
            "password" : "mot de passe de l'utilisateur"
        }
    ]
}

Configurer 2 connexions à des bases de données PostgreSQL et 1 connexion à une base de données Oracle :

{
    "Oracle" : [
        {
            "connection_name" : "Nom de la connexion (il doit être unique)",
            "host" : "hôte",
            "port" : "port", 
            "database" : "nom de la base de données",
            "username" : "nom d'utilisateur",
            "password" : "mot de passe de l'utilisateur"
        }
    ],
    "PostgreSQL" : [
        {
            "connection_name" : "Nom de la connexion (il doit être unique)",
            "host" : "hôte",
            "port" : "port", 
            "database" : "nom de la base de données",
            "username" : "nom d'utilisateur",
            "password" : "mot de passe de l'utilisateur"
        },
        {
            "connection_name" : "Nom de la connexion (il doit être unique)",
            "host" : "hôte",
            "port" : "port", 
            "database" : "nom de la base de données",
            "username" : "nom d'utilisateur",
            "password" : "mot de passe de l'utilisateur"
        }
    ]
}

Dans le cas des bases de données Oracle, il est parfois nécessaire de rajouter une entrée database_alias. Lorsque la valeur du champ "Emplacement de la ressource" des fiches de métadonnées est différente du nom de la base de données, il faut renseigner l'entrée database_alias en indiquant la valeur du champ "Emplacement de la ressource" de la fiche de métadonnées.

{
    "Oracle" : [
        {
            "connection_name" : "Nom de la connexion (il doit être unique)",
            "host" : "hôte",
            "port" : "port", 
            "database" : "nom de la base de données",
            "database_alias" : "emplacement de la ressource",
            "username" : "nom d'utilisateur",
            "password" : "mot de passe de l'utilisateur"
        }
    ],
    "PostgreSQL" : []
}

Vérifier le contenu du fichier _user/db_connections.json

Si cette option semble ne pas fonctionner, prenez le temps de vérifier que le fichier a été rempli avec des informations valides. Vous pouvez également utiliser ce site (ou un équivalent) pour vérifier que le contenu du fichier JSON est conforme aux spécifications.