Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 40
  1. #1

    Connesione al DB ORACLE!!

    Ciao a tutti, sentite ho un piccolo problemino ho buttato giù un pò di codice che permette la connessione al database solo che in una serie di try catch mi entra in tutti e due (cosa che non dovrebbe fare..... giusto??) e mi segna che non riesce a trovare i driver solo che su eclipse con i stessi driver mi ci mette in comunicazione con il database, solo che ora ho al necessità di connettermi tramite un programmino in java. Vi posto il mio codice datami un mano...
    codice:
    static Connection getSimpleConnection() {
        //See your driver documentation for the proper format of this string :
        String DB_CONN_STRING = "jdbc:oracle:thin:@benetnash:1521:orcl";
        String DRIVER_CLASS_NAME = "oracle.jdbc.driver.OracleDriver";
        String USER_NAME = "GRAVN";
        String PASSWORD = "GRAVN";
    
        Connection result = null;
        System.out.println(result);
        try
        {
           Class.forName("oracle.jdbc.driver.OracleDriver"); //richiede che i driver necessari all’applicazione siano registrati prima di essere usati
        }
        catch (Exception ex)
        {
           log("Check classpath. Cannot load db driver: " + DRIVER_CLASS_NAME);
        }
    
       System.out.println(result);
       try
        {
          result = DriverManager.getConnection(DB_CONN_STRING, USER_NAME, PASSWORD);
          System.out.println(result);
        }
        catch (SQLException e)
        {
           log( "Driver loaded, but cannot connect to db: " + DB_CONN_STRING);
        }
        System.out.println(result);
        return result;
      }
    
      private static void log(Object aObject)
      {
        System.out.println(aObject);
      }
    }
    Richiamo le funzioni ke mi servono e il risultato è che mi stampa 3 null e i due catch...
    Emix!!

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    Cosa numero uno: quando si posta il codice lo si deve fare all'interno dei tag [code] e [/code] (c'è scritto sul regolamento).

    Cosa numero due: stampa 3 null e due catch... magari se posti anche i messaggi di errore risulta meno impossibile darti una mano (non è che tutti abbiano a disposizione un DB Oracle da provare e, anche se ce l'avessimo, non tutti hanno la tua stessa configurazione e posizionamento delle librerie)...

    Il codice cerco di sistemarlo io. Per il resto, integra con le informazioni necessarie.


    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
    scusate dell'errore sintattico e per non aver messo i tag code e /code, il problema è che non mi da nessun errore compila ed esegue il tutto tranquillamente solo che in output o i tre nulla che sono le tre stampe del result e i due catch che sono le stampe all'intenro del catch che mi stampano i due log, forse mi sono spiuegato male prima scusate ancora....
    Emix!!

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Emix_69
    scusate dell'errore sintattico e per non aver messo i tag code e /code, il problema è che non mi da nessun errore compila ed esegue il tutto tranquillamente solo che in output o i tre nulla che sono le tre stampe del result e i due catch che sono le stampe all'intenro del catch che mi stampano i due log, forse mi sono spiuegato male prima scusate ancora....
    Se dici che entra nei due catch, è chiaro che prima fallisce il caricamento del driver (magari il o i jar del driver non sono visibili alla JVM) e di conseguenza pure la creazione della Connection fallisce.
    E in tal caso 'result' resta a null che è il valore iniziale. E pertanto i tre println() fuori dai try stampano appunto null.

    Questo è quanto si può comprendere dalla tua spiegazione. Il perché .... beh, una possibilità l'ho detta: la JVM non è in grado di trovare il o i jar necessari. Vedi una mia risposta qui.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Ok se fosse questo il problema i driver si chiamano ojbcd14 (di questo ne sono sicuro perchè oracle me li richiede...), li ho messo dentro la cartella principale di eclipse (infatti eclipse li vede...) ma dove dovo metterli per farli vedere alla JVM??
    Emix!!

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    All'interno della directory lib/ext della JRE che esegue la tua applicazione.
    Oppure ovunque, ma che siano puntati dalla variabile d'ambiente CLASSPATH.


    PS: quando si utilizzano i blocchi try/catch si dovrebbe sempre inserire l'istruzione
    codice:
    } catch (Exception e) {
       e.printStackTrace();
    }
    in modo da far stampare alla JVM tutto il trace dell'eccezione provocata... non metterla significa non sapere dove cercare l'errore in caso questo salti fuori...


    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

  7. #7
    Grazie mille ora stampando result alla fine mi da un indirizzo (presuppongo sia ql di memoria dove viene posizionato...), ora ho solo un piccolissimo problema io lo chiedo a te forse puoi darmi una mano, nopn riesco a far apparire un report con crystal report tramite connessione al database, cioè creo il report ne faccio una query all'interno e non me lo stampa in schermo mi da una serie di errori o un apagina completamente bianca....
    questo è link o segnato la riga con un freccetta ma nn penso che sia solo sulla riga l'errore io li ho posto tutto il codice per qualsiasi cosa contattami qui, grazie ancora per java sto un passo avanti....

    http://forum.html.it/forum/showthrea...9#post11938219
    questo è link dagli un'okkiata!!
    Emix!!

  8. #8
    Ho risolto anche con il report, (almeno credo perchè ho fatto una select * from tabella mi da solo in nome di un acampo ed è strando è da controllà comunque....) comunque vi ridusturbo per un problemino.... questo è il mio codice la prima parte effettua al connessione al database la seconda fa una query colo che mi da qualche errore ora posto il codice:
    codice:
    //See your driver documentation for the proper format of this string :
        String DB_CONN_STRING = "jdbc:oracle:thin:@benetnash:1521:orcl";
        String DRIVER_CLASS_NAME = "oracle.jdbc.driver.OracleDriver";
        String USER_NAME = "GRAVN";
        String PASSWORD = "GRAVN";
    
        Connection result = null;
        try
        {
           Class.forName("oracle.jdbc.driver.OracleDriver"); //richiede che i driver necessari all’applicazione siano registrati prima di essere usati
        }
        catch (Exception e)
        {
           System.out.println("Check classpath. Cannot load db driver: " + DRIVER_CLASS_NAME);
           e.printStackTrace();
        }
    
       try
        {
          result = DriverManager.getConnection(DB_CONN_STRING, USER_NAME, PASSWORD);
        }
        catch (SQLException e)
        {
           System.out.println("Driver loaded, but cannot connect to db: " + DB_CONN_STRING);
           e.printStackTrace();
        }
        return result;
    
       try
        {
          Statement stmt = result.createStatement();
          ResultSet results = stmt.executeQuery("SELECT TEXT FROM dba ");
           while(results.next())
           {
               String s = results.getString("ColumnName");
               // Display each ColumnName value in the ResultSet:
           }
           stmt.close();
        }
        catch(Exception e)
        {
           System.out.println("Qualcosa non va!!");
           e.printStackTrace();
        }
    }
    }
    Mi da un errore sul l'ultimo try catch mi dice unreachable statement e che manca una graffa a me comunque non pare se qualcuno può aiutarmi grazie mille....
    Emix!!

  9. #9
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Ti dice "Unreachable statement" perchè hai inserito un "return result" prima dell'ultimo try/catch... quindi quel blocco di istruzioni è appunto "unreachable" cioè non verrà mai eseguito in quanto l'istruzione "return" termina il metodo.

    E' probabile che ti dica che c'è una graffa in più, non una in meno... alla fine ne vedo due di seguito, mentre dovrebbe essercene solo una (a meno che non sia la chiusura della classe...)


    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
    Sei davvero un grande... mi stai dando un sacco di aiuto grazie mille, mi dava un errore che non stampava il while e dopo ho scoperto che le tabelle sono vuote quindi il metodo next non funge e nel while non ci entra comunque errori non me ne da quindi presuppongo nn li abbia fatti, una volta riempita la tabella in oracle potrò controllare grazie ancora...
    Senti ma tu con oracle e/o Crystal report ci hai mai lavorato??




    Emix!!

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.