#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