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 :

  • La fiche documentant la table a été créée à partir du Scan FME Isogeo.
  • La connexion à la base de données dans laquelle elle se trouve a été configurée au choix :

    • dans le gestionnaire des sources de données de QGIS;
    • dans le fichier _user/db_connections.json du répertoire d'installation du plugin Isogeo.

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

Le repertoire d'installation du plugin QGIS Isogeo

Sous Windows, le plugin QGIS Isogeo est installé dans :

C:\Users\%userprofile%\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\isogeo_search_engine

Sous Ubuntu, le plugin QGIS Isogeo est installé dans :

/home/%userprofile%/.local/share/QGIS/QGIS3/profiles/default/python/plugins/isogeo_search_engine

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.

Exemple 1 : configurer une seule connexion à une base de données PostgreSQL

Contenu du fichier _user/db_connections.json :

{
    "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"
        }
    ]
}
Example 2 : configurer 2 connexions à des bases de données PostgreSQL et 1 connexion à une base de données Oracle

Contenu du fichier _user/db_connections.json :

{
    "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.