Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    177

    [Java]java.sql.SQLException

    Ho sviluppato un piccolo programmino che opera su database. Tale codice quando viene lanciato su pc diversi dal mio, in alcuni casi genera l'eccezzione java.sql.SQLException e mi avvisa che il driver non è presente. C è un modo per esportare la libreria insieme a le altre che uso? In modo che funzioni sulle machine che non hanno tale jar? Io quando creo il jar eseguibile esporto le librerie usate ma questa non la mette.
    Teo

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,319
    E' compito tuo portarti dietro tutte le librerie necessarie al funzionamento della tua applicazione, quando la vai ad installare su una macchina.
    E' per questo che, generalmente, una applicazione è composta da un file JAR (l'applicazione) + una directory "lib" contenente tutti i JAR delle librerie necessarie al funzionamento + eventuali altre risorse necessarie al funzionamento.

    Le librerie non sono un "optional"... sono parte integrante dell'applicazione e vanno portate ovunque si vada ad installare l'applicazione.

    Se la libreria di cui necessita la tua applicazione non viene esportata assieme alle altre significa che l'ambiente di sviluppo che usi non è correttamente configurato e, magari, esporta solo le librerie che tu aggiungi al progetto e non quelle che lui reputa "di sistema". Generalmente questo accade quando si configura in maniera errata la variabile d'ambiente CLASSPATH sulla macchina di sviluppo... tale variabile d'ambiente, infatti, non dovrebbe nemmeno esistere.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    177
    Hai ragione nella mia cartella _lib ci sono solo le mie librerie aggiuntive. Quindi come risolvo? intervenendo manualmente sul CLASSPATH? Devo eliminarlo? io non l' ho mai generato eclipse l'ha fatto automaticamente. Come posso risolvere tale problema per sempre?
    Teo

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    147
    Usi Eclipse? Dai uno sguardo a questo pdf...

    http://garga.iet.unipi.it/didatticao...one%20v1.0.pdf

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    177
    Il mio problema rimane, anche se esporto con il programma tutte le librerie da me aggiunte, quando lo eseguo su un pc normale, cioè su un pc che non viene usato per programmare, mi da l'errore java.sql.SQLException per avvisarmi che manca il driver. Tale driver non è di quelli da me aggiunti manualmente al progetto. Quindi come risolvo tale problema? Ho controllato il classpath ed è corretto non presenta errori.
    Teo

  6. #6
    Utente di HTML.it L'avatar di progAnd
    Registrato dal
    Jan 2012
    Messaggi
    119
    Aggiungi il driver al progetto

    Ciao

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    147
    Ma a che DBMS ti appoggi? Non è che utilizzi dei driver che non siano "pure-java" e che quindi occorrono altre librerie che non ci sono sugli altri pc diversi dal tuo?

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    177
    il dbms è in access e per connettermi ho creato una classe che sfrutta il jdbc:udbcDriver
    Teo

  9. #9
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,319
    Originariamente inviato da Vixer
    jdbc:udbcDriver
    Credo/spero sia jdbcdbc:<nome_dsn> e che il driver sia sun.jdbc.odbc.JdbcOdbcDriver.
    Ad ogni modo, devi verificare che sulla macchina in cui gira il programma vi sia installato il driver ODBC per Access (dovrebbe esserci di default, ma non lo si può dare per scontato).


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    147
    Eh si, nel caso di bridge JDBC-ODBC si è vincolati alla piattaforma ospitante e, anche se ODBC è presente di default, va fatta l'attivazione.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.