spon
14-12-2010, 09:44
Salve a tutti,
vorrei esporvi un mio problema.
Ho realizzato una applicazione web, con tecnologia JSF, che si interfaccia con SQL Server 2005; l'applicazione č alquanto semplice, prevede un login iniziale e permette all'utente loggato di inserire dati nel DB, ad esempio un nuovo record in una delle tabelle.
Il problema nasce proprio quando vado a fare il calcolo dell'ID, ovvero della chiave primaria del nuovo record da inserire, in quanto all'aumentare degli utenti loggati la probabilitą che due utenti tentino di inserire contemporaneamente un nuovo record
con lo stesso ID cresce con il consegente problema di violazione della chiave primaria.
Ora poichč i vari utenti loggati hanno ognuno una diversa istanza dell'applicazione, il problema č irrisolvibile, e correggetemi se sbaglio, se continuo a laciare il metodo di calcolo dell'ID nell'applicazione stessa, ad esempio in Sessione: dovrei quindi
spostarlo come servizio nell'application server (utilizzo Tomcat)? E come?
C'č qualche strumento gią sviluppato?
Grazie
vorrei esporvi un mio problema.
Ho realizzato una applicazione web, con tecnologia JSF, che si interfaccia con SQL Server 2005; l'applicazione č alquanto semplice, prevede un login iniziale e permette all'utente loggato di inserire dati nel DB, ad esempio un nuovo record in una delle tabelle.
Il problema nasce proprio quando vado a fare il calcolo dell'ID, ovvero della chiave primaria del nuovo record da inserire, in quanto all'aumentare degli utenti loggati la probabilitą che due utenti tentino di inserire contemporaneamente un nuovo record
con lo stesso ID cresce con il consegente problema di violazione della chiave primaria.
Ora poichč i vari utenti loggati hanno ognuno una diversa istanza dell'applicazione, il problema č irrisolvibile, e correggetemi se sbaglio, se continuo a laciare il metodo di calcolo dell'ID nell'applicazione stessa, ad esempio in Sessione: dovrei quindi
spostarlo come servizio nell'application server (utilizzo Tomcat)? E come?
C'č qualche strumento gią sviluppato?
Grazie