Suite

Chargement de mod_spatialite à l'aide de sqlite3 pour Python sous Windows

Chargement de mod_spatialite à l'aide de sqlite3 pour Python sous Windows


J'utilise avec succès l'extension mod_spatialite pour sqlite sous Linux depuis un certain temps maintenant, mais un client veut une application qui repose sur mod_spatialite pour fonctionner sous Windows.

J'ai extrait les dll requises dans un dossier que j'ai ajouté à la variable Windows PATH. Cela me permet de démarrer une version autonome de sqlite3.exe et de charger mod_spatialite avecSELECT load_extension('mod_spatialite');. Cependant, lorsque j'essaie de charger cette extension en Python à l'aide du module sqlite3, j'obtiens une erreur :

sqlite3.OperationalError : la procédure spécifiée est introuvable

Sous Linux, je peux simplement utiliserSELECT load_extension('/chemin/vers/mod_spatialite');, mais sqlite3 donne la même erreur « procédure spécifiée n'a pas pu être trouvée ».

Est-ce que j'ai râté quelque chose?


Le problème était avec la version de Sqlite Python utilisée. Le sqlite3.dll fourni avec Python 2.7.5 d'ArcGIS n'a pas pu charger l'extension mod_spatialite.

Alors résolvez le problème, j'ai simplement téléchargé le .dll pour la dernière version de sqlite3 (disponible ici), puis j'ai remplacé le sqlite3.dll trouvé dans C:Python27ArcGIS10.2DLLs par le nouveau.