Bug report #5983
import Qgis-Layer to spatialite db via db Manager and Qspatialite is broken
Status: | Closed | ||
---|---|---|---|
Priority: | Normal | ||
Assignee: | - | ||
Category: | DB Manager | ||
Affected QGIS version: | 1.8.0 | Regression?: | No |
Operating System: | win | Easy fix?: | No |
Pull Request or Patch supplied: | No | Resolution: | fixed |
Crashes QGIS or corrupts data: | No | Copied to github as #: | 15398 |
Description
Import a QGis-Layer in dB manager via drag and drop is broken.
The import via Qspatialite reports the following errors and freeze mouse sandclock :
Fehler bei der Ausführung von Python-Code: Traceback (most recent call last): File "C:/Dokumente und Einstellungen/gerhard/.qgis//python/plugins\\QspatiaLite\\importQgis\\importQgis.py", line 64, in run if not self.parent.db.uploadQgisVectorLayer(layer, tableName=self.tablenames[i], srid=self.srid, selected=self.selected): File "C:/Dokumente und Einstellungen/gerhard/.qgis//python/plugins\\QspatiaLite\\Classes\\Database.py", line 253, in uploadQgisVectorLayer cursor.execute("""INSERT INTO "%s" VALUES (%s,%s)"""%(tableName,','.join([unicode(value).encode('utf-8') for value in values_auto]),','.join('?'*len(values_perso))),tuple([unicode(value) for value in values_perso])) OperationalError: no such function: CastToMulti Python-Version: 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] QGIS-Version: 1.8.0-Lisboa Lisboa, 6416f38 Python-Pfad: ['C:/Dokumente und Einstellungen/gerhard/.qgis//python/plugins\\\\sextante', 'C:/PROGRA~1/Quantum GIS Lisboa/apps/qgis/./python', 'C:/Dokumente und Einstellungen/gerhard/.qgis//python', 'C:/Dokumente und Einstellungen/gerhard/.qgis//python/plugins', 'C:/PROGRA~1/Quantum GIS Lisboa/apps/qgis/./python/plugins', 'C:\\\\PROGRA~1\\\\Quantum GIS Lisboa\\\\bin\\\\python27.zip', 'C:\\\\PROGRA~1\\\\Quantum GIS Lisboa\\\\apps\\\\Python27\\\\DLLs', 'C:\\\\PROGRA~1\\\\Quantum GIS Lisboa\\\\apps\\\\Python27\\\\lib', 'C:\\\\PROGRA~1\\\\Quantum GIS Lisboa\\\\apps\\\\Python27\\\\lib\\\\plat-win', 'C:\\\\PROGRA~1\\\\Quantum GIS Lisboa\\\\apps\\\\Python27\\\\lib\\\\lib-tk', 'C:\\\\PROGRA~1\\\\Quantum GIS Lisboa\\\\apps\\\\qgis\\\\bin', 'C:\\\\PROGRA~1\\\\Quantum GIS Lisboa\\\\apps\\\\Python27', 'C:\\\\PROGRA~1\\\\Quantum GIS Lisboa\\\\apps\\\\Python27\\\\lib\\\\site-packages', 'C:\\\\PROGRA~1\\\\Quantum GIS Lisboa\\\\apps\\\\Python27\\\\lib\\\\site-packages\\\\PIL', 'C:\\\\PROGRA~1\\\\Quantum GIS Lisboa\\\\apps\\\\Python27\\\\lib\\\\site-packages\\\\win32', 'C:\\\\PROGRA~1\\\\Quantum GIS Lisboa\\\\apps\\\\Python27\\\\lib\\\\site-packages\\\\win32\\\\lib', 'C:\\\\PROGRA~1\\\\Quantum GIS Lisboa\\\\apps\\\\Python27\\\\lib\\\\site-packages\\\\Pythonwin', 'C:\\\\PROGRA~1\\\\Quantum GIS Lisboa\\\\apps\\\\Python27\\\\lib\\\\site-packages\\\\wx-2.8-msw-unicode', 'C:\\\\Dokumente und Einstellungen\\\\gerhard\\\\.qgis\\\\python\\\\plugins\\\\mmqgis/forms', '/usr/share/qgis/python', 'C:\\\\PROGRA~1\\\\Quantum GIS Lisboa\\\\apps\\\\qgis\\\\python\\\\plugins\\\\fTools\\\\tools']
History
#1 Updated by Jürgen Fischer over 12 years ago
pyspatialite in the standalone installer uses and old internal version of spatialite. Please try the OSGeo4W version, which has spatialite 3.0.1.
#2 Updated by Giovanni Manghi over 12 years ago
- Status changed from Open to Feedback
#3 Updated by Gerhard Spieles over 12 years ago
Installed QGIS 1.8.0.3 and dev from OSGeo4W. Starting QGIS, popup window reports following messages. DBManager window is empty an qspatialite is not available.
Konnte Erweiterung QspatiaLite nicht laden wegen eines Fehler beim Aufruf seiner classFactory()-Methode Traceback (most recent call last): File "C:/OSGeo4W/apps/qgis-dev/./python\\qgis\\utils.py", line 164, in startPlugin plugins[packageName] = package.classFactory(iface) File "C:/Dokumente und Einstellungen/gerhard/.qgis//python/plugins\\QspatiaLite\\__init__.py", line 34, in classFactory from qspatialite import QspatiaLite File "C:/OSGeo4W/apps/qgis-dev/./python\\qgis\\utils.py", line 309, in _import mod = _builtin_import(name, globals, locals, fromlist, level) File "C:/Dokumente und Einstellungen/gerhard/.qgis//python/plugins\\QspatiaLite\\qspatialite.py", line 29, in from QspatiaLiteApp import QspatiaLiteApp File "C:/OSGeo4W/apps/qgis-dev/./python\\qgis\\utils.py", line 309, in _import mod = _builtin_import(name, globals, locals, fromlist, level) File "C:/Dokumente und Einstellungen/gerhard/.qgis//python/plugins\\QspatiaLite\\QspatiaLiteApp.py", line 27, in from Classes.Database import * File "C:/OSGeo4W/apps/qgis-dev/./python\\qgis\\utils.py", line 309, in _import mod = _builtin_import(name, globals, locals, fromlist, level) File "C:/Dokumente und Einstellungen/gerhard/.qgis//python/plugins\\QspatiaLite\\Classes\\Database.py", line 1, in from pyspatialite import dbapi2 as sqlite #Load PySpatiaLite File "C:/OSGeo4W/apps/qgis-dev/./python\\qgis\\utils.py", line 309, in _import mod = _builtin_import(name, globals, locals, fromlist, level) File "C:/OSGeo4W/apps/qgis-dev/./python\\pyspatialite\\dbapi2.py", line 27, in File "C:/OSGeo4W/apps/qgis-dev/./python\\qgis\\utils.py", line 309, in _import mod = _builtin_import(name, globals, locals, fromlist, level) ImportError: No module named _spatialite Python-Version: 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] QGIS-Version: 1.9.0-Master Master, cbde7d4 Python-Pfad: ['C:/OSGeo4W/apps/qgis-dev/./python', 'C:/Dokumente und Einstellungen/gerhard/.qgis//python', 'C:/Dokumente und Einstellungen/gerhard/.qgis//python/plugins', 'C:/OSGeo4W/apps/qgis-dev/./python/plugins', 'C:\\\\OSGeo4W\\\\bin\\\\python27.zip', 'C:\\\\OSGeo4W\\\\apps\\\\Python27\\\\DLLs', 'C:\\\\OSGeo4W\\\\apps\\\\Python27\\\\lib', 'C:\\\\OSGeo4W\\\\apps\\\\Python27\\\\lib\\\\plat-win', 'C:\\\\OSGeo4W\\\\apps\\\\Python27\\\\lib\\\\lib-tk', 'C:\\\\OSGeo4W\\\\bin', 'C:\\\\OSGeo4W\\\\apps\\\\Python27', 'C:\\\\OSGeo4W\\\\apps\\\\Python27\\\\lib\\\\site-packages', 'C:\\\\OSGeo4W\\\\apps\\\\Python27\\\\lib\\\\site-packages\\\\PIL', 'C:\\\\OSGeo4W\\\\apps\\\\Python27\\\\lib\\\\site-packages\\\\win32', 'C:\\\\OSGeo4W\\\\apps\\\\Python27\\\\lib\\\\site-packages\\\\win32\\\\lib', 'C:\\\\OSGeo4W\\\\apps\\\\Python27\\\\lib\\\\site-packages\\\\Pythonwin', 'C:\\\\OSGeo4W\\\\apps\\\\Python27\\\\lib\\\\site-packages\\\\wx-2.8-msw-unicode', 'C:\\\\Dokumente und Einstellungen\\\\gerhard\\\\.qgis\\\\python\\\\plugins\\\\mmqgis/forms', '/usr/share/qgis/python']
#4 Updated by Jürgen Fischer over 12 years ago
gespiel - wrote:
Installed QGIS 1.8.0.3 and dev from OSGeo4W. Starting QGIS, popup window reports following messages. DBManager window is empty an qspatialite is not available.
[...]
Hm, looks like you're running qgis-dev
and not qgis-1.8.0-3
and a version of qgis-dev
that still includes and internal copy of pyspatialite
- which the current version doesn't.
#5 Updated by Gerhard Spieles over 12 years ago
QGIS 1.8.0.3 from OSGeo4W produce the same result.
Konnte Erweiterung QspatiaLite nicht laden wegen eines Fehler beim Aufruf seiner classFactory()-Methode Traceback (most recent call last): File "C:/OSGeo4W/apps/qgis/./python\\qgis\\utils.py", line 164, in startPlugin plugins[packageName] = package.classFactory(iface) File "C:/Dokumente und Einstellungen/gerhard/.qgis//python/plugins\\QspatiaLite\\__init__.py", line 34, in classFactory from qspatialite import QspatiaLite File "C:/OSGeo4W/apps/qgis/./python\\qgis\\utils.py", line 309, in _import mod = _builtin_import(name, globals, locals, fromlist, level) File "C:/Dokumente und Einstellungen/gerhard/.qgis//python/plugins\\QspatiaLite\\qspatialite.py", line 29, in from QspatiaLiteApp import QspatiaLiteApp File "C:/OSGeo4W/apps/qgis/./python\\qgis\\utils.py", line 309, in _import mod = _builtin_import(name, globals, locals, fromlist, level) File "C:/Dokumente und Einstellungen/gerhard/.qgis//python/plugins\\QspatiaLite\\QspatiaLiteApp.py", line 27, in from Classes.Database import * File "C:/OSGeo4W/apps/qgis/./python\\qgis\\utils.py", line 309, in _import mod = _builtin_import(name, globals, locals, fromlist, level) File "C:/Dokumente und Einstellungen/gerhard/.qgis//python/plugins\\QspatiaLite\\Classes\\Database.py", line 1, in from pyspatialite import dbapi2 as sqlite #Load PySpatiaLite File "C:/OSGeo4W/apps/qgis/./python\\qgis\\utils.py", line 309, in _import mod = _builtin_import(name, globals, locals, fromlist, level) ImportError: No module named pyspatialite Python-Version: 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] QGIS-Version: 1.8.0-Lisboa Lisboa, 6416f38 Python-Pfad: ['C:/OSGeo4W/apps/qgis/./python', 'C:/Dokumente und Einstellungen/gerhard/.qgis//python', 'C:/Dokumente und Einstellungen/gerhard/.qgis//python/plugins', 'C:/OSGeo4W/apps/qgis/./python/plugins', 'C:\\\\OSGeo4W\\\\bin\\\\python27.zip', 'C:\\\\OSGeo4W\\\\apps\\\\Python27\\\\DLLs', 'C:\\\\OSGeo4W\\\\apps\\\\Python27\\\\lib', 'C:\\\\OSGeo4W\\\\apps\\\\Python27\\\\lib\\\\plat-win', 'C:\\\\OSGeo4W\\\\apps\\\\Python27\\\\lib\\\\lib-tk', 'C:\\\\OSGeo4W\\\\apps\\\\qgis\\\\bin', 'C:\\\\OSGeo4W\\\\apps\\\\Python27', 'C:\\\\OSGeo4W\\\\apps\\\\Python27\\\\lib\\\\site-packages', 'C:\\\\OSGeo4W\\\\apps\\\\Python27\\\\lib\\\\site-packages\\\\PIL', 'C:\\\\OSGeo4W\\\\apps\\\\Python27\\\\lib\\\\site-packages\\\\win32', 'C:\\\\OSGeo4W\\\\apps\\\\Python27\\\\lib\\\\site-packages\\\\win32\\\\lib', 'C:\\\\OSGeo4W\\\\apps\\\\Python27\\\\lib\\\\site-packages\\\\Pythonwin', 'C:\\\\OSGeo4W\\\\apps\\\\Python27\\\\lib\\\\site-packages\\\\wx-2.8-msw-unicode', 'C:\\\\Dokumente und Einstellungen\\\\gerhard\\\\.qgis\\\\python\\\\plugins\\\\mmqgis/forms', '/usr/share/qgis/python']
#6 Updated by Jürgen Fischer over 12 years ago
gespiel - wrote:
QGIS 1.8.0.3 from OSGeo4W produce the same result.
[...]
not quite. It didn't find pyspatialite this time - not the old version. Is the pyspatialite package installed?
#7 Updated by Gerhard Spieles over 12 years ago
- File dbmanager_statuspanel_postgis_no_module.jpg added
Have just updated from OSGeo4W pyspatial 2.3.1-3. Startupmessages dissapear in 1.8.0.3 and import in qspatial works.
Thanks
In db Manager, drag and drop a shp-layer from Qgis to spatiallite is further not possible.
In the status panel, dbmager reports: "postgis: No module named psycopg2" (see attached jpg)
#8 Updated by Jürgen Fischer over 12 years ago
gespiel - wrote:
Have just updated from OSGeo4W pyspatial 2.3.1-3. Startupmessages dissapear in 1.8.0.3 and import in qspatial works.
ThanksIn db Manager, drag and drop a shp-layer from Qgis to spatiallite is further not possible.
In the status panel, dbmager reports: "postgis: No module named psycopg2" (see attached jpg)
retry the upgrade please - pyspatialite
and psycopg2
should be a dependency of qgis now (before dbmanager inclusion both were optional and only installed with qgis-full
- that's why the standalone installer made from qgis-full
has both).
#9 Updated by Giuseppe Sucameli over 12 years ago
In db Manager, drag and drop a shp-layer from Qgis to spatiallite is further not possible.
In the status panel, dbmager reports: "postgis: No module named psycopg2" (see attached jpg)
DBManager should work even if one of psycopg2
or pyspatialite
is missing, so the problem you get importing a shape shouldn't depend on the message displayed on the status bar.
A message box with the error should be displayed when the import fails. If so, could you report the error in a new ticket, please?
If instead it works after installing psycopg2
, please report here.
#10 Updated by Gerhard Spieles over 12 years ago
have installed the latest osgeo4w package. Postgissymbol appears in db manager and statusbar is clean. (see attached jpg)
Drag and drop shp-layer into spatialite db in dbmanager window is further not possible.
Mousepointer change form to stop-marker, while trying to drop it in db-manager window.
#11 Updated by Giovanni Manghi over 12 years ago
Mousepointer change form to stop-marker, while trying to drop it in db-manager window.
drag and drop muste be done from within the qgis browser, it doesn't work from the TOC. Just to be sure you are doing the right way. Cheers!
#12 Updated by Gerhard Spieles over 12 years ago
- Resolution set to fixed
- Status changed from Feedback to Closed
Yes, all works fine. A lot of thanks for your work.
Best regards
Gerhard