Newsgroup: it.comp.java
Titolo: Aituo su errore

Salve a tutti,
è la prima volta che scrivo ed avrei bisogno di un aiuto.
Sto scrivendo un programmino per applicazione web in NetBeans ed utilizzando 
MySql e Glassfish.
Quando eseguo il build del progetto (componente ejb e war) non ci sono 
problemi, ma quando eseguo il deply/undeploy mi da un errore per cui poi 
l'inserimento e la rimozione di elementi nel db non funziona.
Spero che possiate darmi una mano...
L'eccezione riportata è la seguente:
WARNING:
JDO76614: Deployment encountered SQL Exceptions:
        JDO76609: Got SQLException executing statement "CREATE TABLE 
analisi_esame (Analisi_id_analisi VARCHAR(255) NOT NULL, 
esamiCollection_id_esame VARCHAR(255) NOT NULL, PRIMARY KEY 
(Analisi_id_analisi, esamiCollection_id_esame))": 
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 'analisi_esame' 
already exists
        JDO76609: Got SQLException executing statement "CREATE TABLE analisi 
(id_analisi VARCHAR(255) NOT NULL, data VARCHAR(255), id_esame VARCHAR(255), 
id_donatore VARCHAR(255), PRIMARY KEY (id_analisi))": 
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 'analisi' already 
exists
        JDO76609: Got SQLException executing statement "CREATE TABLE 
richiesta (id_richiesta VARCHAR(255) NOT NULL, richiedente VARCHAR(255), 
indirizzo VARCHAR(255), sangue VARCHAR(255), citta VARCHAR(255), provincia 
VARCHAR(255), data VARCHAR(255), contatto VARCHAR(255), PRIMARY KEY 
(id_richiesta))": com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 
'richiesta' already exists
        JDO76609: Got SQLException executing statement "CREATE TABLE esame 
(id_esame VARCHAR(255) NOT NULL, nome VARCHAR(255), valore VARCHAR(255), 
id_analisi VARCHAR(255), range_di_riferimento VARCHAR(255), PRIMARY KEY 
(id_esame))": com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 
'esame' already exists
        JDO76609: Got SQLException executing statement "CREATE TABLE 
donatore (id_donatore VARCHAR(255) NOT NULL, luogo_nascita VARCHAR(255), 
codice_fiscale VARCHAR(255), gruppo_sanguigno VARCHAR(255), indirizzo 
VARCHAR(255), nome VARCHAR(255), citta VARCHAR(255), data_di_nascita 
VARCHAR(255), provincia VARCHAR(255), ultima_donazione VARCHAR(255), 
telefono VARCHAR(255), email VARCHAR(255), cognome VARCHAR(255), PRIMARY KEY 
(id_donatore))": com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 
'donatore' already exists
        JDO76609: Got SQLException executing statement "CREATE TABLE account 
(id_account INTEGER NOT NULL, password VARCHAR(255), nome VARCHAR(255), 
username VARCHAR(255), cognome VARCHAR(255), PRIMARY KEY (id_account))": 
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 'account' already 
exists
        JDO76609: Got SQLException executing statement "ALTER TABLE 
analisi_esame ADD CONSTRAINT FK_analisi_esame_Analisi_id_analisi FOREIGN KEY 
(Analisi_id_analisi) REFERENCES analisi (id_analisi)": 
java.sql.SQLException: Can't create table '.\donazioni\#sql-3bc_6.frm' 
(errno: 121)
        JDO76609: Got SQLException executing statement "ALTER TABLE 
analisi_esame ADD CONSTRAINT FK_analisi_esame_esamiCollection_id_esame 
FOREIGN KEY (esamiCollection_id_esame) REFERENCES esame (id_esame)": 
java.sql.SQLException: Can't create table '.\donazioni\#sql-3bc_6.frm' 
(errno: 121)
        JDO76609: Got SQLException executing statement "ALTER TABLE analisi 
ADD CONSTRAINT FK_analisi_id_donatore FOREIGN KEY (id_donatore) REFERENCES 
donatore (id_donatore)": java.sql.SQLException: Can't create table 
'.\donazioni\#sql-3bc_6.frm' (errno: 121)
JDO76614: Deployment encountered SQL Exceptions:
        JDO76609: Got SQLException executing statement "CREATE TABLE 
analisi_esame (Analisi_id_analisi VARCHAR(255) NOT NULL, 
esamiCollection_id_esame VARCHAR(255) NOT NULL, PRIMARY KEY 
(Analisi_id_analisi, esamiCollection_id_esame))": 
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 'analisi_esame' 
already exists
        JDO76609: Got SQLException executing statement "CREATE TABLE analisi 
(id_analisi VARCHAR(255) NOT NULL, data VARCHAR(255), id_esame VARCHAR(255), 
id_donatore VARCHAR(255), PRIMARY KEY (id_analisi))": 
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 'analisi' already 
exists
        JDO76609: Got SQLException executing statement "CREATE TABLE 
richiesta (id_richiesta VARCHAR(255) NOT NULL, richiedente VARCHAR(255), 
indirizzo VARCHAR(255), sangue VARCHAR(255), citta VARCHAR(255), provincia 
VARCHAR(255), data VARCHAR(255), contatto VARCHAR(255), PRIMARY KEY 
(id_richiesta))": com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 
'richiesta' already exists
        JDO76609: Got SQLException executing statement "CREATE TABLE esame 
(id_esame VARCHAR(255) NOT NULL, nome VARCHAR(255), valore VARCHAR(255), 
id_analisi VARCHAR(255), range_di_riferimento VARCHAR(255), PRIMARY KEY 
(id_esame))": com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 
'esame' already exists
        JDO76609: Got SQLException executing statement "CREATE TABLE 
donatore (id_donatore VARCHAR(255) NOT NULL, luogo_nascita VARCHAR(255), 
codice_fiscale VARCHAR(255), gruppo_sanguigno VARCHAR(255), indirizzo 
VARCHAR(255), nome VARCHAR(255), citta VARCHAR(255), data_di_nascita 
VARCHAR(255), provincia VARCHAR(255), ultima_donazione VARCHAR(255), 
telefono VARCHAR(255), email VARCHAR(255), cognome VARCHAR(255), PRIMARY KEY 
(id_donatore))": com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 
'donatore' already exists
        JDO76609: Got SQLException executing statement "CREATE TABLE account 
(id_account INTEGER NOT NULL, password VARCHAR(255), nome VARCHAR(255), 
username VARCHAR(255), cognome VARCHAR(255), PRIMARY KEY (id_account))": 
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 'account' already 
exists
        JDO76609: Got SQLException executing statement "ALTER TABLE 
analisi_esame ADD CONSTRAINT FK_analisi_esame_Analisi_id_analisi FOREIGN KEY 
(Analisi_id_analisi) REFERENCES analisi (id_analisi)": 
java.sql.SQLException: Can't create table '.\donazioni\#sql-3bc_a.frm' 
(errno: 121)
        JDO76609: Got SQLException executing statement "ALTER TABLE 
analisi_esame ADD CONSTRAINT FK_analisi_esame_esamiCollection_id_esame 
FOREIGN KEY (esamiCollection_id_esame) REFERENCES esame (id_esame)": 
java.sql.SQLException: Can't create table '.\donazioni\#sql-3bc_a.frm' 
(errno: 121)
        JDO76609: Got SQLException executing statement "ALTER TABLE analisi 
ADD CONSTRAINT FK_analisi_id_donatore FOREIGN KEY (id_donatore) REFERENCES 
donatore (id_donatore)": java.sql.SQLException: Can't create table 
'.\donazioni\#sql-3bc_a.frm' (errno: 121)

 l'inserimento e la rimozione di elementi nel db non funziona.
usi hibernate? in questo caso esiste una proprietà 
hibernate.hbm2ddl.auto su cui documentarti. a occhio in questo momento è 
valorizzata su 'create', ma prima di modificarla leggi *bene* la 
documentazione e chiarisciti *bene* quello che vuoi fare.
-- 
 Fino all'anno scorso avevo un solo difetto. Ero presuntuoso.
http://softvalley.blogspot.com
http://www.flickr.com/photos/marko_po/


no, nn uso hibernate...ad ogni modo so quello che voglio fare ma nn capisco 
il xkč di questo errore... 

 capisco il xkè di questo errore...
probabilmente usi la jpa, ma il concetto è lo stesso di rootkit
-- 
Davide Consonni

 il xkè di questo errore... 
in ogni caso usi un jpa, che durante il deploy è configurato per 
generare il database mappato dagli entity.
in questo momento è configurato in modo "prudente", crea solamente gli 
oggetti e quelli che vedi sono solo dei warning per gli oggetti già 
esistenti.
può essere configurato anche in altro modo, per esempio in modo che 
faccia drop&create, ma come puoi ben comprendere è un comportamento che 
necessita da parte tua molta attenzione.
