Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    timeout su connessione non funziona

    Ciao a tutti.

    ho scritto un applicazione java che deve collegarsi a un db, e quando non ci riesce rimane bloccata, incurante del timeout impostato e della cattura delle eccezioni:

    codice:
    try {
     String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
                    String urlBO = "jdbc:odbc:BO_" + Id + "_" + DB;
                    Class.forName(driver);
                    String userName = xxxxx;
                    String password = xxxxxx;
                    DriverManager.setLoginTimeout(60);
                    connServerBO = DriverManager.getConnection(urlBO, userName, password);
     } catch (Exception e) {
    scrivilog;
                }
    Qualche idea?
    a me basterebbe che le volte in cui non riesce a collegarsi, dopo un certo periodo vada oltre in modo da eseguire le altre istruzioni presenti nel programma.

    Grazie

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    non ho capito.... che vorresti dire?

  3. #3
    ho bisogno di capire perchè dopo i 60 secondi il programma non continua..è come se ignorasse il timeout e provasse all'infinito a collegarsi..

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    sei sicuro che va in timeout? il trace dell'eccezione ce l'hai? il metodo intero lo stampi?

  5. #5
    il problema è che non scatena l'eccezione..fosse così la gestirei senza problemi..mi rimane fermo a dopo String urlBO = "jdbcdbc:BO_" + Id + "_" + DB; (me ne accorgo perchè stampo a video quella variabile..ho omesso le parti meno importanti del codice)

    Ora ho aggiunto una stampa a video dopo il setLoginTimeout per capire se riesce a impostarlo o si blocca prima (Class.forName(driver))

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    il fatto che non vedi nessuna Exception vuole dire che non ci sono eccezioni.
    Prova a scrivere tutto cablato anziché risolverlo dinamicamente e vedi se fa la connection, dopo di che controlla ogni parametro.
    TI consiglio di debuggare e di capire bene dove è l'errore, detta così è troppo generic

  7. #7
    purtroppo è un ambiente particolare e non posso debuggare..
    In che senso "il fatto che non vedi nessuna Exception vuole dire che non ci sono eccezioni"?

    Se ci fossero dovrebbero entrare nell'exception, e quindi verrebbe chiamata la funzione.

    Tra l'altro so che funziona il meccanismo, perchè per altri db (sempre remoti) rilevo problemi di connessione che scatenano l'eccezione, mentre in alcuni casi sembra che resti appeso...senza fare niente

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Per come hai scritto qui, dovresti catturare qualsiasi tipo di Exception (visto che l'hai messa generica), quindi se non entri nel catch vuole dire che di eccezioni non ce ne sono.

    La prova che puoi fare è connetterti direttamente al db (tramite un qualsiasi dbclient), poi puoi provare a lasciare cablata la stringa di connessione (non costruirla come fai) e infine ultima aggiungere log o trace in modo da avere maggiori info.

    Inoltre se mi dici che è un problema del db forse dovresti chiederti perché il database non va in timeout, ma non riguarda il programma java in sé come sei portato a credere. Questa potrebbe essere una caratteristica del db, che dovrai sistemare assieme ad un sistemista

  9. #9
    Immaginavo non fosse un problema lato java, e la cosa strana è che quel db la maggior parte delle volte funziona.

    In ogni caso ho chiesto qua perchè cercando online, alcuni utenti su un forum dicevano che per certi db la setlogintimeout viene ignorata...quindi volevo capire se c'erano strade alternative.

    Grazie lo stesso!

  10. #10
    continuo ad avere questo problema...

    Il programma a volte si blocca e non dà eccezioni..come è possibile?! è come se si addormentasse..
    Eppure la maggior parte delle volte riesco a connettermi senza problemi a quel db, con gli stessi dati di connessione!

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.