Domanda

Cercando il facile approccio:

sqlite2 mydb.db .dump | sqlite3 mydb-nuovo.db

Ho ottenuto questo errore:

Errore SQL vicino a riga 84802:la colonna non esiste:Ð

In che riga lo script è questo:

INSERT INTO vehiculo VALORI(127548,'21K0065217',Ñ,'PA007808',65217,279,1989,3,468,'1998-07-30 00:00:00.000000','14/697/98-07',2,",1);

La mia ipotesi è che il 'Ñ' senza virgolette è il problema.

qualche idea?

PD:Io sono sotto Windows adesso e vorrei utilizzare la riga di comando in modo da può essere automatizzato (questo processo sarà fatto su base giornaliera, da un server).

È stato utile?

Soluzione

Basta aprire il v2 database con il sqlite3 binario CLI, e quindi salvarlo.Il file di database sarà trasparente migrati a v3.

Non funziona.

$sqlite3 db2
SQLite version 3.6.16
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .tables
Error: file is encrypted or is not a database
sqlite> .q

E il file non viene modificato (a quanto pare sqlite3 riuscivo a leggerlo).Penso che il problema originale è un bug in sqlite2.

Altri suggerimenti

Basta aprire il v2 database con il sqlite3 binario CLI, e quindi salvarlo.Il file di database sarà trasparente migrati a v3.

$ sqlite3 v2database.db
sqlite> .quit
$

Nota:potrebbe essere necessario inserire/eliminare una riga prima di uscire per forzare un aggiornamento.

Nessuno a rispondere...alla fine finisco per modificare il mio script originale(quello che ha creato il sqlite2 di database, in primo luogo) per creare il database direttamente in sqlite3.

Penso che un grande stringa script di elaborazione(grandi, perché mi database sono 800 mb e 200 mb ciascuno) possono fare il lavoro, ma di generare direttamente il database è stato più facile per me.

Ho provato a farlo senza windows intervento:

*chiamando sqlite2 sul vecchio.db, e inviare il dump direttamente a un file

*e poi chiamare sqlite3 sul nuovo.db e caricare il dump direttamente dal file.

Solo nel caso in cui windows è stato pasticciano con i caratteri sulla riga di comando.

Stesso Risultato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top