[Gfoss] problemi spatialite

Salve a tutti.
Recentemente ho qualche problema con la GUI di spatialite. Prima di tutto quando vado a creare un nuovo db dalla GUI non me lo lascia fare e in particolare mi da 2 messaggi di errore: il primo è CreateSpatialMetaData error: no such table: spatial_ref_sys , e poi
CreateSpatialMetaData error: cannot rollback - no transaction is active
In particolare quest’ultimo in pratica mi blocca il programma perchè per quanto io clicchi su ok mi ricompare apparentemente in modo infinito.

Io aggiro il problema creando un nuovo db da shell.

Il secondo problema è sulla creazione di una nuova tabella geometrica. Il classico comando SELECT AddGeometryColumn(‘specie_rilievo’, ‘Geometry’, 32632, ‘POINT’, 2); mi restituisce sempre valore 0

Anche qui faccio un INSERT a mano sulla tabella geometry_columns e risolvo il problema.

Qualcuno ha avuto problemi simili?

Grazie a tutti,

Francesco

P.S.: Il SO è Mint 14, il PC è a 64 bit

On Tue, 23 Jul 2013 10:01:52 +0100 (BST), Francesco Geri wrote:

e in particolare mi da 2 messaggi di errore: il primo è
CreateSpatialMetaData error: no such table: spatial_ref_sys , e poi
CreateSpatialMetaData error: cannot rollback - no transaction is
active

Ciao Francesco,

il secondo errore e' semplicemente la diretta conseguenza del primo:
per qualche motivo (da chiarire) nel tuo DB non esiste affatto la
tavola "spatial_ref_sys", che e' obbligatoria in ogni DB spatialite.

Il secondo problema è sulla creazione di una nuova tabella
geometrica. Il classico comando SELECT
AddGeometryColumn('specie_rilievo', 'Geometry', 32632, 'POINT', 2); mi
restituisce sempre valore 0

ovvio, non esistendo la tavola "spatial_ref_sys" la AddGeometryColumn
non puo' certo funzionare

Anche qui faccio un INSERT a mano sulla tabella geometry_columns e
risolvo il problema.

no, cosi' non "risolvi" proprio nulla; stai semplicemente aggiungendo
ulteriori informazioni non valide e non verificate in un DB che e'
severamente danneggiato.

per inciso: fare INSERT/UPDATE/DELETE "a mano libera" sulla
"geometry_columns" e' uno dei metodi di maggiore successo
(praticamente infallibile, abbiamo lunga e documenta esperienza
in merito) per ottenere un DB corrotto, che funziona a gamba zoppa
e che prima o poi ti dara' certamente pesanti problemi.

usa sempre le apposite funzioni SQL (p.es. AddGeometryColum) per
manipolare le tavole dei metadati in modo sicuro ed affidabile.
se queste funzioni SQL falliscono sistematicamente, e' un segnale
chiaro che sotto c'e' qualche problema abbastanza serio da
risolvere in via prioritaria.

P.S.: Il SO è Mint 14, il PC è a 64 bit

ok; ma quale versione di Spatialite_GUI stai utilizzando ?
presa da dove ?

il comportamento atteso per tutte le versioni recenti di spatialite_gui
e' che quando crei un nuovo DB vengono create automaticamente tutte
le meta-tavole (compresa ovviamente la "spatial_ref_sys"), e vengono
anche immediatamente inizializzate caricando tutto il dataset EPSG.

l'impressione e' che probabilmente stai cercando di utilizzare un
eseguibile non perfettamente funzionante, e forse di qualche versione
decisamente arcaica ed ormai largamente obsoleta.

ciao sandro

--
Il messaggio e' stato analizzato alla ricerca di virus o
contenuti pericolosi da MailScanner, ed e'
risultato non infetto.

Ciao Sandro,
grazie per l’immediata risposta. In effetti “sospettavo” che ci fosse qualche problema alla base. Spatialite l’ho installato dalle repo di mint, ed è la versione 1.2.1-3. Ho messo questa perchè quando ho provato a compilare l’ultima mi dava sempre un errore. Per la precisione questo errore:

Classdef.h:48:31: fatal error: spatialite/gg_wfs.h: File o directory non esistente

compilation terminated.

Così ho pensato che nonostante fosse vecchia sarebbe stata più stabile. E invece…

Cmq spatialite (non GUI) va perfettamente…e per adesso sto facendo tutto da shell. Però vorrei risolvere, prima (prima del passaggio a Mint, con Ubuntu 12.04) tutto funzionava perfettamente.

Francesco


Da: “a.furieri@lqt.it” a.furieri@lqt.it
A: gfoss@lists.gfoss.it
Inviato: Martedì 23 Luglio 2013 12:30
Oggetto: Re: [Gfoss] problemi spatialite

On Tue, 23 Jul 2013 10:01:52 +0100 (BST), Francesco Geri wrote:

e in particolare mi da 2 messaggi di errore: il primo è
CreateSpatialMetaData error: no such table: spatial_ref_sys , e poi
CreateSpatialMetaData error: cannot rollback - no transaction is
active

Ciao Francesco,

il secondo errore e’ semplicemente la diretta conseguenza del primo:
per qualche motivo (da chiarire) nel tuo DB non esiste affatto la
tavola “spatial_ref_sys”, che e’ obbligatoria in ogni DB spatialite.

Il secondo problema è sulla creazione di una nuova tabella
geometrica. Il classico comando SELECT
AddGeometryColumn(‘specie_rilievo’, ‘Geometry’, 32632, ‘POINT’, 2);
mi
restituisce sempre valore 0

ovvio, non esistendo la tavola “spatial_ref_sys” la AddGeometryColumn
non puo’ certo funzionare

Anche qui faccio un INSERT a mano sulla tabella geometry_columns e
risolvo il problema.

no, cosi’ non “risolvi” proprio nulla; stai semplicemente aggiungendo
ulteriori informazioni non valide e non verificate in un DB che e’
severamente danneggiato.

per inciso: fare INSERT/UPDATE/DELETE “a mano libera” sulla
“geometry_columns” e’ uno dei metodi di maggiore successo
(praticamente infallibile, abbiamo lunga e documenta esperienza
in merito) per ottenere un DB corrotto, che funziona a gamba zoppa
e che prima o poi ti dara’ certamente pesanti problemi.

usa sempre le apposite funzioni SQL (p.es. AddGeometryColum) per
manipolare le tavole dei metadati in modo sicuro ed affidabile.
se queste funzioni SQL falliscono sistematicamente, e’ un segnale
chiaro che sotto c’e’ qualche problema abbastanza serio da
risolvere in via prioritaria.

P.S.: Il SO è Mint 14, il PC è a 64 bit

ok; ma quale versione di Spatialite_GUI stai utilizzando ?
presa da dove ?

il comportamento atteso per tutte le versioni recenti di spatialite_gui
e’ che quando crei un nuovo DB vengono create automaticamente tutte
le meta-tavole (compresa ovviamente la “spatial_ref_sys”), e vengono
anche immediatamente inizializzate caricando tutto il dataset EPSG.

l’impressione e’ che probabilmente stai cercando di utilizzare un
eseguibile non perfettamente funzionante, e forse di qualche versione
decisamente arcaica ed ormai largamente obsoleta.

ciao sandro


Il messaggio e’ stato analizzato alla ricerca di virus o
contenuti pericolosi da MailScanner, ed e’
risultato non infetto.


Gfoss@lists.gfoss.it
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e’ una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell’Associazione GFOSS.it.
666 iscritti al 22.7.2013