[Gfoss] problemi spatialite

a.furieri a lqt.it a.furieri a lqt.it
Mar 23 Lug 2013 12:30:37 CEST


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.



Maggiori informazioni sulla lista Gfoss