Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Mon 29 June 2015 14:24

Sylvain PIERRE
Participant assidu
Lieu: Strasbourg
Date d'inscription: 6 Sep 2005
Messages: 170

QGIS 2.6 : pyqgis - chargement layer par requête sql

Bonjour,

J'essaie de charger une table oracle selon une méthode décrite ici:
http://blog.georepublic.info/2013/joini … ng-pyqgis/

La syntaxe utilisée est la suivante:

Code:

uriOracle = QgsDataSourceURI()
uriOracle.setSrid("EPSG:3948")
uriOracle.setConnection('xxxxxxxx', 'xxxxx','xxxxx', 'consultsig','consultsig')

uriOracle.setDataSource( "", "(select * from COMMUNE sort by ccocom)", "GEOM", "","id")

layer = QgsVectorLayer(uriOracle.uri(), 'communes', 'oracle')
if  not layer.isValid():
  print "Layer failed to load!"

et pour l'instant la layer n'est pas valide. Et là je coince.
(l'objectif étant de charger la couche avec les données déjà triée par code INSEE)

Une petite idée?

Merci

Sylvain

Hors ligne

 

#2 Wed 01 July 2015 08:22

JD
Moderateur
Date d'inscription: 8 Aug 2013
Messages: 726

Re: QGIS 2.6 : pyqgis - chargement layer par requête sql

Bonjour,
Les paramètres en entrée de la méthode setdatasource sont mauvais.

Code:

Setdatasource(schéma,table,géométrie,sql,clé)

http://qgis.org/api/classQgsDataSourceURI.html

Essayez d abord

Code:

uri.setdatasource("","COMMUNE","GEOM","","id")

pour voir si la couche se charge. Après pour la fonction de tri c est une autre histoire.

Hors ligne

 

Pied de page des forums

Powered by FluxBB