Ho dato un'occhiata al file e ho provato ad aprirlo con uno dei tool che suggerivo.
Ho individuato la famigerata tabella TAnagrafica, e visualizzandone la definizione (DDL) viene riportato quanto segue:
codice:
CREATE TABLE "TAnagrafica" (
"IDAnagr" INTEGER NOT NULL,
"CodAnagr" VARCHAR(50) CHARACTER SET WIN1252 COLLATE WIN1252_CI,
"Nome" VARCHAR(255) CHARACTER SET WIN1252 NOT NULL COLLATE WIN1252_CI,
"Indirizzo" VARCHAR(255) CHARACTER SET WIN1252 COLLATE WIN1252_CI,
"Cap" VARCHAR(50) CHARACTER SET WIN1252 COLLATE WIN1252_CI,
...
Quell'uso delle virgolette mi fa sospettare che il database faccia uso di un charset particolare e che quindi il tool rappresenti i nomi delle tabelle usando dei separatori per non creare ambiguità, se ci si collega usando CHARSET=NONE.
Confermo che la query iniziale non funziona e restituisce l'errore della tabella non trovata, sebbene il nome sembri corrispondere, mentre (seguendo l'esempio sopra) questa invece funziona perfettamente (da notare la presenza delle virgolette):
codice:
SELECT * FROM "TAnagrafica"
La query seguente invece, pur avendo le virgolette, non funziona (la tabella non viene trovata):
codice:
Select * from "TANAGRAFICA"
Facendo qualche ricerca, ho scoperto quanto segue.
In fase di creazione degli oggetti del DB (es. con il comando CREATE TABLE) è possibile indicare il nome "con" o "senza" virgolette.
Quando viene indicato senza, il motore del DB mantiene il case utilizzato salvando il nome così come viene scritto, ma lo trasforma sempre in maiuscolo a ogni operazione in modo del tutto automatico, in breve rendendo i nomi degli oggetti case insensitive.
Se invece si usano le virgolette, tale nome diventa "case sensitive": significa che va sempre specificato tra virgolette quando si fa riferimento a quell'oggetto in qualsiasi comando, e le maiuscole/minuscole devono necessariamente coincidere.
In breve, l'uso delle virgolette fissa il criterio case sensitive sui nomi degli oggetti del DB interessati rendendoli tali e forzando il fatto che il case debba essere sempre rispettato usando le virgolette anche in seguito per riferirsi agli stessi oggetti.
In conclusione, questo DB sembra essere stato creato con quest'ultima modalità, quindi devi ricordarti di aggiungere (se il tool di riferimento non lo fa) le virgolette nell'indicazione del nome di qualsiasi tabella, vista o qualsiasi oggetto che sta stato nominato inizialmente in questo modo, come vale per la tabella TAnagrafica.
Fai qualche prova e aggiornarci quando hai novità.
Ciao!