Newsgroup: it.comp.java
Titolo: Domanda epica su Java e Database

Premetto che ho una certa esperienza in progettazione di database, ma non ho
mai utilizzato JDBC. Il mio obiettivo e' poter scrivere una applicazione java
(freeware) che possa usare l'SQL senza necessita' di un database server.
Ipotesi:
1) Un driver JDBC (pure java) che legga/scriva direttamente su un file di dati
(ad esempio .mdb) senza passare per il database server (access per gli .mdb o
dbIV per i .dbf)
2) Un database server compatto in pure java che possa essere incorporato in
una applicazione java, oppure non in java ma che sia compatto e disponibile
per le principali piattaforme, ovviamente meglio se gratuito.
Qualcuno e' in grado di avvalorare o smentire queste ipotesi, oppure di
suggerirne un'altra praticabile?
- Luca Giuranna -  (to reply remove "_zz_")

L'ipotesi (1) mi sembra la più praticabile, pero` allo stato attuale delle mie conoscenze essa ha i seguenti limiti:
1. se si sceglie come DB Access, si vincola l'utente ad avere una piattaforma Windows  con installate le DLL giuste per accedere ad ODBC e ad Access. Quindi l'applicazione non sono non è più multipiattaforma ma richiede che la presenza di altre applicazioni sul PC dell'utente (segnatamente MS Office).
2. se si sceglie xBase come DB si perdono alcune funzionalità molto interessanti di Access, tra cui avere un file unico e avere dei constraint sulla base dati.
Secondo me per aggirare questi limiti bisognerebbe valutare la praticabilità di queste due soluzioni:
(a) trovare dei driver JDBC che accedano direttamente agli MDB, senza passare per l'ODBC bridge.
(b) trovare un database royalty free con caratteristiche simile a quelle di MS-Access ma che abbia dei driver JDBC pure java. 
Visto che anch'io sto cercando una soluzione a questo problema, per caso qualcuno del NG ha già esplorato le soluzioni (a) e (b)?
Ciao, Cristian

-- 
--------------------------------------------------------------------------------------------------------------
Cristian Veronesi - computer programmer
CRPA spa - Centro Ricerche Produzioni Animali / Research Centre for Animal Production 
Reggio Emilia, Italy
mailto:
c.ver...@crpa.it
http://www.crpa.it/
Is Windows a virus? 
No. Although Windows slows down your system and trashes your hard disk just like
a virus, there are fundamental differences between Windows and viruses:
viruses are well supported by their authors, are running on most systems, 
their program code is fast, compact and efficient and they tend to become 
more sophisticated as they mature.
So, Windows is _not_ a virus.

Visto che anch'io sto cercando una soluzione a questo problema, per caso qualcuno del NG ha già esplorato le soluzioni (a) e (b)?
Mmm...per la soluzione (b) avete dato una occhiata a
http://www.instantdb.co.uk/
 ?
Non e' ai livelli dell'Access ma e' un driver JDBC di livello 4 (pure
java).
E soprattutto e' free.
--
Un Ciao in DO maggiore!      remove NOSPAM to reply by e-mail.
-=) Sbaturzio (=-            Anche su Yahoo Pager

L'ipotesi (1) mi sembra la più praticabile, pero` allo stato attuale delle mie conoscenze essa ha i seguenti limiti:
1. se si sceglie come DB Access, si vincola l'utente ad avere una piattaforma Windows  con installate le DLL giuste per accedere ad ODBC e ad Access. Quindi l'applicazione non sono non è più multipiattaforma ma richiede che la presenza di altre applicazioni sul PC dell'utente (segnatamente MS Office).
2. se si sceglie xBase come DB si perdono alcune funzionalità molto interessanti di Access, tra cui avere un file unico e avere dei constraint sulla base dati.
Secondo me per aggirare questi limiti bisognerebbe valutare la praticabilità di queste due soluzioni:
(a) trovare dei driver JDBC che accedano direttamente agli MDB, senza passare per l'ODBC bridge.
(b) trovare un database royalty free con caratteristiche simile a quelle di MS-Access ma che abbia dei driver JDBC pure java. 
Visto che anch'io sto cercando una soluzione a questo problema, per caso qualcuno del NG ha già esplorato le soluzioni (a) e (b)?
Ciao, Cristian


 (a) trovare dei driver JDBC che accedano direttamente agli MDB, senza
passare per l'ODBC bridge.
E' proprio quello che intendevo nell'ipotesi 1).


 E soprattutto e' free.
Attenzione, non e' proprio free!
Nella home page si legge:
"InstantDB is a 100% Java, Relational Database Management System
(RDBMS).
 It is free to non-commercial and non-government organisations."
Quindi, in pratica, NON E' FREE se si deve sviluppare del software per
venderlo (come credo interessi a molti, qui)
Ciao
-- 
+---------------------------+
| Roberto Bagnoli           |
| 
robe...@comune.modena.it
 |
+---------------------------+

 per le principali piattaforme, ovviamente meglio se gratuito.
Ditto. Scriversi un database server freeware è una impresa abbastanza
ciclopica, a meno che tu non viva di rendita e quindi abbia tutto il
tempo che ti pare per dedicartici. Un motore disponibile per le
principali piattaforme? DB2 ad esempio, ma non mi risulta che sia
gratuito. Un motore freeware? MySQL, ma non è disponibile sulle
principali piattaforme.
Un compromesso può essere InterBase, abbastanza economico e disponibile
per le principali piattaforme. Ma non perdere tempo a cercare di
scrivere un database server da solo.
Riassumendo: la vedo trita. Io ci avevo pensato in passato, quando ero
un po' più giovane e inesperto (non che ora sia vecchio per carità).
Ciao,
	Stefano

server già esistente e funzionante.
Giusto una precisazione - un database *engine* non e' necessariamente un 
database *server*.
Per il resto concordo. 
-- 
God is Real, unless declared Integer.
ObjectZone - 
http://space.tin.it/computer/csadun/

 principali piattaforme.
Per la cronaca InstantDB e' _esattamente_ quello che cercavo. Non e' freeware
ma tanto io faccio applicazioni gratuite.


 
Ottimo :) Mi fa piacere che tu abbia risolto il tuo problema. Anche io
mi diverto a fare applicazioni free a volte, peccato che non abbia una
macchina aggaicnata permanentemente al web per pubblicarle :|
Ciao,
	Stefano

 
Ti do perfettamente ragione, ho scritto server e intendevo (come Luca
del resto) engine. Anche perché del resto, SCRIVERSi un server č un po'
piů difficile di un engine... al limite un server me lo potrei costruire
ma non ho il saldatore :^)
Ciao,
	Stefano

ma non ho il saldatore :^)
LOL. Manno', dai, ti basta un bello strato di rete.. al piu' ago e filo 
quindi ;-)


 a piacere. Non penso che la M$ sia disposta a darti la documentazione.
Quindi, se ho ben capito, il problema sta soltanto nel fatto che la Micro$oft non ha pubblicato la documentazione del formato MDB, altrimenti qualcuno nel mondo prima o poi avrebbe scritto un driver di questo tipo. Ma allora le uniche interfacce di programmazione per gli MDB sono quelle distribuite da Micro$oft, cioe` DAO, ODBC, ecc., e qualsiasi applicazione Java che accede ad un MDB deve per forza passare attraverso di esse, giusto? Peccato, perche` secondo me Access, pur con tutti i suoi difetti, non e` malvagio come database stand-alone.
Come funzionano le licenze di InstantDB? E' sufficiente comprare una licenza "sviluppatore" oppure devo comprare una licenza "utente" per ognuna delle copie vendute del mio programma?
Ciao, Cristian
-- 
Cristian Veronesi - computer programmer
C.R.P.A. spa - Centro Ricerche Produzioni Animali / Research Centre for Animal Production 
Reggio Emilia, Italy

         Stefano

 Come funzionano le licenze di InstantDB? E' sufficiente comprare una licenza "sviluppatore" oppure devo comprare una licenza "utente" per ognuna delle copie vendute del mio programma?
Questo esula dalle mie conoscenze... confesso, non ho mai usato
InstantDB :)
Ciao,
	Stefano