Saltar a contenido

Añadir una tabla de base de datos (PostGIS u Oracle Spatial)

Se puede añadir una tabla PostGIS u Oracle Spatial a través del plugin bajo las siguientes condiciones:

Varias conexiones similares

Si se han configurado varias conexiones para bases de datos con nombres idénticos, es posibleindicar al plugin qué conexión debe utilizar para acceder a los datos almacenados en la base de datos en cuestión.

Conexión configurada en el gestor de fuentes de datos de QGIS

La primera forma de configurar una conexión a una base de datos es añadir una fuente de datos en QGIS: menú"Capa">"Gestor de fuentes de datos" > pestaña"PostgreSQL" u"Oracle"> haz clic en"Nuevo".

Ya se trate de una base de datos Oracle o PostgreSQL, para que una conexión sea utilizable por el plugin Isogeo, el nombre de usuario y la contraseña deben haber sido introducidos y almacenados:

Sólo para bases de datos PostgreSQL

Puede introducir el nombre de un servicio en el campo"Servicio" del formulario utilizado para crear una nueva conexión a la base de datos (véase la captura de pantalla anterior).

Este servicio debe haberse especificado en un archivo de configuración pg_service.conf.

La ubicación del archivo pg_service.conf debe guardarse en una variable de entorno "PGSERVICEFILE" configurada en el SO y en QGIS. Para configurar la variable en QGIS: menú"Preferencias" >"Opciones..." > pestaña "Sistema" > ítem "PGSERVICEFILE" > pestaña"Sistema" > apartado"Entorno" > marca "Usar variables personalizadas..." > haz clic en > haga clic en "+".

Conexión configurada en el archivo _user\db_connections.json

La segunda forma de configurar una conexión a una base de datos es introducir la información de conexión en el archivo db_connections.json en la carpeta _user en el directorio de instalación del plugin QGIS Isogeo:

  • en la siguiente ubicación en Windows: C:\Users\%userprofile%AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\isogeo_search_engine_user\db_connections.json
  • y en Ubuntu: /home/%userprofile%/.local/share/QGIS/QGIS3/profiles/default/python/plugins/isogeo_search_engine/_user/db_connections.json.

Compruebe el contenido del archivo _user/db_connections.json

Si el archivo no parece ser tenido en cuenta por el plugin, tómese su tiempo para comprobar que ha sido rellenado con información válida. También puedes utilizar esta herramienta (o una equivalente) para comprobar que el contenido del archivo cumple las especificaciones del formato JSON.

Además de ajustarse a las especificaciones del formato JSON, para ser tenido en cuenta por el plugin Isogeo, este archivo debe :

  • contienen un único objeto con las 2 claves siguientes :
    • Oracle
    • PostgreSQL
  • cada una de estas claves debe tener el valor de una lista que puede ser :
    • vacío
    • o compuesto de objeto(s) con las siguientes claves :
      • nombre_de_la_conexión el nombre de la conexión, debe ser único, cada conexión debe tener un nombre diferente
      • host el host donde está alojada la base de datos
      • puerto el puerto de conexión de la base
      • base de datos nombre de la base de datos
      • nombre de usuario nombre del usuario utilizado para iniciar sesión
      • contraseña contraseña de usuario utilizada para iniciar sesión
      • alias_base_de_datos clave opcional presentada justo después de

Sólo para bases de datos Oracle

A veces es necesario añadir una entrada database_alias.

Cuando el valor del campo"Ubicación del recurso"en los registros de metadatos es diferente del nombre de la base de datos, la entrada database_alias debe rellenarse con el valor del campo"Ubicación del recurso" en el registro de metadatos.

{
    "Oracle" : [
        {
            "connection_name" : "Nom de la connexion Oracle (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" : []
}

El contenido por defecto del archivo _user\db_connections.json es el siguiente (no hay conexiones configuradas):

{
    "Oracle" : [],
    "PostgreSQL" : []
}

Eche un vistazo a los siguientes ejemplos.

Ejemplos del contenido del archivo _user/db_connections.json

Configuración de una única conexión a una base de datos PostgreSQL :

{
    "Oracle" : [],
    "PostgreSQL" : [
        {
            "connection_name" : "Nom de la connexion A (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"
        }
    ]
}

Configure 2 conexiones a bases de datos PostgreSQL y 1 conexión a una base de datos Oracle:

{
    "Oracle" : [
        {
            "connection_name" : "Nom de la connexion A (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 B (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 C (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"
        }
    ]
}