AppletTalk.com Forum Index AppletTalk.com
Java discussions newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Aiuto HSQLDB

 
Post new topic   Reply to topic    AppletTalk.com Forum Index -> Java (Italian)
View previous topic :: View next topic  
Author Message
Ely77
Guest





PostPosted: Tue Jun 28, 2005 1:59 pm    Post subject: Aiuto HSQLDB Reply with quote



Ho provato HSQLDB è non riesco a risolvere un problema:
Mi collego a un database e creo una tabella utilizzando il driver
org.hsqldb.jdbcDriver e la stringa di connessione
jdbc:hsqldb:file:/database/mioDB
Purtroppo alla chiusura del database la tabella viene eliminata, nel senso
che quando faccio ripartire il programma e cerco di ricaricare il db non
trova la tabella. Se è per questo non vengono creati file di dati, ma gli
altri (.properties, .log, .lck, .script) rimangono!

Insomma come se stessi creando un database in memoria jdbc:hsqldb:mem:... ma
non sto facendo cosi'! Un'altra cosa strana è che finchè il mio programma
java non termina la tabella è completamente accessibile e utilizzabile.
Inoltre sembra che solo la tabella non venga "storata" il db si. Bisogna
fare qualche "stora le operazioni" prima di chiudere il programma?
Grazie mille!!!!!!!!!!!!!!!!!
Eli




Back to top
pole
Guest





PostPosted: Tue Jun 28, 2005 2:24 pm    Post subject: Re: Aiuto HSQLDB Reply with quote



Ely77 wrote:

Quote:
Inoltre sembra che solo la tabella non venga "storata" il db si. Bisogna
fare qualche "stora le operazioni" prima di chiudere il programma?

Uhmmm strano. Per prima cosa verifica che nel file .properties la
proprietà modified non sia "yes". Se è così vuol dire che il db si sta
chiudendo male.
Dalla stringa di connessione che usi stai usando la modalità in-process,
potrebbe essere che l'applicazione venga chiusa mentre c'è ancora
qualche connessione aperta verso il database. Se è così ti basta
chiudere le connessioni prima di terminare il programma.

Inoltre per creare le tabelle usa la sintassi "create cached table..."

HTH
pole
--
ammentos - a lightweight persistence framework for JDK5
http://www.sourceforge.net/projects/ammentos
http://ammentos.biobytes.it

Back to top
Dimitri De Franciscis
Guest





PostPosted: Tue Jun 28, 2005 2:57 pm    Post subject: Re: Aiuto HSQLDB Reply with quote



Ely77 ha scritto:
Quote:
Ho provato HSQLDB è non riesco a risolvere un problema:
Mi collego a un database e creo una tabella utilizzando il driver
org.hsqldb.jdbcDriver e la stringa di connessione
jdbc:hsqldb:file:/database/mioDB
Purtroppo alla chiusura del database la tabella viene eliminata, nel senso
che quando faccio ripartire il programma e cerco di ricaricare il db non
trova la tabella. Se è per questo non vengono creati file di dati, ma gli
altri (.properties, .log, .lck, .script) rimangono!


La sparo: hai fatto commit dopo aver creato le tabelle?
Non è che non mi fidi, però...non si sa mai...

--
-- + Setaceous Pig + --
http://megadix.users.mcs2.netarray.com/
http://www.jroller.com/page/megadix/

Back to top
thd
Guest





PostPosted: Tue Jun 28, 2005 3:35 pm    Post subject: Re: Aiuto HSQLDB Reply with quote

Ely77 <Elisa.Adamoli-TogliQuesto- (AT) Tiscali (DOT) it> wrote:
Quote:
il db non trova la tabella. Se è per questo non vengono creati file
di dati, ma gli altri (.properties, .log, .lck, .script) rimangono!

il file .script mantiene i dati quando crei tabelle non cached
se apri il file .script vedrai tutti i comandi con cui il db, ogni volta
avviato, ricrea le tabelle e le riempie con i dati..
devi creare una cached table per tenerle dentro il file .data
anche se in effetti sembra strano che all'avvio successivo la tabella non
venga ricaricata..



Back to top
Ely77
Guest





PostPosted: Wed Jun 29, 2005 7:54 am    Post subject: Re: Aiuto HSQLDB Reply with quote

Quote:
Inoltre sembra che solo la tabella non venga "storata" il db si. Bisogna
fare qualche "stora le operazioni" prima di chiudere il programma?

Uhmmm strano. Per prima cosa verifica che nel file .properties la
proprietà modified non sia "yes". Se è così vuol dire che il db si sta
chiudendo male.
Si penso che il problema sia proprio qui dove dici tu, ora sto provando

eseguendo il comando "SHUTDOWN" prima di fare il close() e sembra
funzionare. Ma è normale questa cosa?

Poi visto che ci sono se faccio una connessione al database con un programma
e un'altra connessione da un altro mi dice che un processo sta già
utilizzando il db, non riesco ad accedervi neanche in lettura! So che
c'entra il file .lock ma non so che farci, spero il db non possa essere
usato da una sola persona per volta!
Grazie mille a tutti!!




Back to top
pole
Guest





PostPosted: Wed Jun 29, 2005 8:31 am    Post subject: Re: Aiuto HSQLDB Reply with quote

Ely77 wrote:
Quote:
Si penso che il problema sia proprio qui dove dici tu, ora sto provando
eseguendo il comando "SHUTDOWN" prima di fare il close() e sembra
funzionare. Ma è normale questa cosa?

In realtà dovrebbe bastare accertarsi di chiudere tutte le connessioni.
Quando è utilizzato in modalità in-process hsqldb si chiude
automaticamente nel momento in cui l'ultima connessione viene chiusa.
Per questo motivo in questo caso sarebbe meglio utilizzare un'unica
connessione al db, aperta all'avvio dell'applicazione e chiusa alla fine.


Quote:
Poi visto che ci sono se faccio una connessione al database con un programma
e un'altra connessione da un altro mi dice che un processo sta già
utilizzando il db, non riesco ad accedervi neanche in lettura! So che
c'entra il file .lock ma non so che farci, spero il db non possa essere
usato da una sola persona per volta!

Questo è sempre dovuto al fatto che stai utilizzando hsqldb in modalità
in-process. In questa modalità il database è proprietà esclusiva del
processo all'interno del quale il db è eseguito. Se vuoi poterti
connettere al db da più client devi utilizzare la modalità server.

Questi dettagli sono spiegati bene qui:
http://www.hsqldb.org/doc/guide/ch01.html#N100F6

ciao
pole
--
ammentos - a lightweight persistence framework for JDK5
http://www.sourceforge.net/projects/ammentos
http://ammentos.biobytes.it

Back to top
Display posts from previous:   
Post new topic   Reply to topic    AppletTalk.com Forum Index -> Java (Italian) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.