Newsgroup: it.comp.java
Titolo: Impostare una fonte dati ODBC

Ciao a tutti.
Sto provando a fare un pacchetto di distribuzione e di installazione di una 
mia applicazione. Sono riuscito a fare tutto attraverso Ant. L'unica cosa 
che ne è rimasta fuori, per di più da fare impostare a mano dall'utente, è 
la creazione di una fonte dati ODBC, necessaria all'utilizzo di un database.
Ho provato a cercare un po' in giro, non ho trovato nulla che io possa 
utilizzare, a parte la scrittura diretta nel registro tramite JNI (che non 
conosco, dovrei studiare ben benino: esistono esempi già fatti?).
Non posso usare la tecnica connection-less (credo), perchè il database è in 
MySQL, non in Access. Vi anticipo :-) : non posso usare il driver nativo di 
MySQL, mi causa problemi che non sto qui a raccontare.
Mi basterebbe anche una soluzione fuori java, purchè facilmente manipolabile 
e soprattutto "già fatto", come uno script oppure un programmillo fatto in 
C++/Visual Basic.
Grazie, Andrea 

Io intanto proverei a chiedere nel ng dedicato al S.O. relativo se
esiste una procedura di script (che magari puoi lanciare con la classe
Runtime)
Curiosa anche sul sito della Microsoft.

Trovato qualcosa: a vantaggio di chi ne può aver bisogno:
http://www.microsoft.com/italy/technet/itsolutions/scriptcenter/resources/qanda/nov04/hey1110.mspx
 

 MySQL, mi causa problemi che non sto qui a raccontare.
Scusa l'impertinenza... ma vorrei davvero sapere perchè non puoi usare il
driver JDBC di MySql. Se fosse un problema di librerie (cioè non puoi
aggiungere nulla nel classpath), potresti attirittura provare ad includere
le classi del codice sorgente del driver "accanto" alle tue, ed usarle come
se fossero sempre presenti (impacchettate nello stesso jar). Spazio limitato
sulla destinazione? non sai la sintassi JDBC dell'url di connessione?
Boh... se dici quali sono questi problemi possiamo anche provare a
risolverli...
per inciso: qualsiasi manuale SCONSIGLIA l'uso del bridge JDBC/ODBC, che tra
l'altro ha un bel po' di bachi.
-- 
Fermiamo Scientology prima che sia troppo tardi!!!
http://xenu.com-it.net
 - 
http://xenu.freewinds.cx/
 - 
http://www.xenu.net/
(per rispondere personalmente leva IlDitoDalCulo)

 > Scusa l'impertinenza... ma vorrei davvero sapere perchè non puoi usare
 > il driver JDBC di MySql. Se fosse un problema di librerie (cioè non puoi
 > aggiungere nulla nel classpath), potresti attirittura provare ad
 > includere le classi del codice sorgente del driver "accanto" alle tue,
 > ed usarle come se fossero sempre presenti (impacchettate nello stesso
 > jar). Spazio limitato sulla destinazione? non sai la sintassi JDBC
 > dell'url di connessione?
 > Boh... se dici quali sono questi problemi possiamo anche provare a
 > risolverli...
Beh, se proprio insisti :-)
Il mio sistema utilizza Aglets, una piattaforma per agenti mobili (non 
proprio utilizzata nella vita di tutti i giorni...).
La realizzazione di un agente in grado di interrogare un database mi ha 
creato non pochi problemi, quando ho tentato di utilizzare per database 
MySQL ed il relativo driver nativo.
Due problemi in particolare:
- il driver nativo, nella sua attuale versione, presenta un bug che ne 
compromette l'utilizzo con le aglets. In linea di principio è possibile 
"patchare" il driver o ricorrere alla versione successiva (ancora in alfa). 
Per chi ne vuole sapere di più: 
http://bugs.mysql.com/bug.php?id=14938
. Il 
problema è scomodo, ma pare risolubile con un po' di smanettamento;
- il problema più spinoso: non c'è stato verso di consentire alle aglets 
l'acceso a questo driver, ho provato ad impostare i permessi nel file 
.java.policy in tutti i modi possibili, mettere la libreria dappertutto, 
eccetera. Non ricordo il dettaglio dell'eccezione sollevata, è un problema 
che si riscontra, a volte, anche con l'utilizzo in Tomcat. Mentre la 
soluzione per Tomcat è facilmente attuabile, non sono stato in grado di 
risolvere il problema per il sistema Aglets (ci si può avvalere, del resto, 
di un volume di documentazione infinitamente minore). Ci ho sbattuto la 
testa tre giorni, alla fine mi son stufato e son passato ad ODBC, ben 
conscio della scomodità di questa soluzione. Le operazioni fatte sul Db non 
sono particolarmente complesse o pesanti, il sistema "regge" anche con 
questo driver.



Intanto mi studio per bene cosa siano e come funzionano le Aglets... credi
che partendo da qui 
http://aglets.sourceforge.net/
 riuscirò a trovare quello
che serve?
Comunque, a proposito di ODBC/JDBC, esiste anche una stringa di connessione
dsnless (non connectionless!) anche per MySql... se ti può servire:
driver={mysql}; database=<nomedatabase>;server=<indirizzoserver>;uid=username;pwd=password;option=16386;
Dimmi se ti funziona :)


O> credi che partendo da qui 
http://aglets.sourceforge.net/
 riuscirņ a 
trovare quello
O> che serve?
Il sito di riferimento č quello, io comunque avevo cominciato a studiare la 
piattaforma  su roba gią digerita, tipo gli articoli su Mokabyte, ed alcune 
tesi.
 O> connessione dsnless (non connectionless!)
Sģ, lapsus :-)
 O> driver={mysql};
 O> database=<nomedatabase>;server=<indirizzoserver>;uid=username;pwd=passwo
 O> rd;option=16386;
 O> Dimmi se ti funziona :)
La proverņ. Pensavo le dnsless fossero soltanto per Access.
Grazie