أكثر

تحميل mod_spatialite باستخدام sqlite3 لبيثون في Windows

تحميل mod_spatialite باستخدام sqlite3 لبيثون في Windows


لقد نجحت في استخدام ملحق mod_spatialite لـ sqlite في Linux لفترة من الوقت الآن ، لكن العميل يريد تطبيقًا يعتمد على mod_spatialite للعمل في Windows.

لقد قمت باستخراج ملفات dll المطلوبة إلى مجلد قمت بإضافته إلى متغير Windows PATH. يتيح لي هذا بدء إصدار مستقل من sqlite3.exe وتحميل mod_spatialite معحدد load_extension ('mod_spatialite') ؛. ومع ذلك ، عند محاولة تحميل هذا الامتداد في Python باستخدام وحدة sqlite3 ، يظهر لي خطأ:

sqlite3.OperationalError: تعذر العثور على الإجراء المحدد

في لينكس ، يمكنني ببساطة استخدام ملفاتحدد load_extension ('/ path / to / mod_spatialite') ؛، ولكن sqlite3 يعطي نفس الخطأ "تعذر العثور على الإجراء المحدد".

نسيت شيئا ما هنا؟


كانت المشكلة في إصدار Sqlite Python الذي كان يستخدمه. لم يتمكن sqlite3.dll المشحون مع ArcGIS's Python 2.7.5 من تحميل ملحق mod_spatialite.

لحل المشكلة ، قمت ببساطة بتنزيل dll لأحدث إصدار من sqlite3 (متاح هنا) ثم استبدلت sqlite3.dll الموجود في C: Python27 ArcGIS10.2 DLLs بالإصدار الجديد.