Probleme mit ResultSet bei Query auf Oracle-DB

  • Hallo!
    Ich bin gestern in der Schule auf ein seltsames Problem gestoßen, dass selbst mein Lehrer nicht lösen konnte.
    Wir haben uns auf eine Oracle-Datenbank verbunden und sollten dort ein einfaches Query ausführen. Das Query haben wird vorher im SQL-Plus Client getestet, und es war korrekt und brachte auch das erwartete Ergebnis.
    Allerdings, wenn ich versuche, das Ergebnis aus dem ResultSet in Java heraus zu lesen, kommt immer, egal mit welchen Datentyp ich es versuche, 0 bzw. beim String null heraus. Da kann doch irgendwas nicht stimmen, oder? Vor allem, weil wir solche Datenbankoperationen schon oft gemacht haben. Allerdings war das mit MySQL...
    Der Code:

    Das Query ist korrekt, bringt auch keine SQL-Exception. Außerdem führen wir im selben Programm noch ein INSERT durch, das funktioniert ebenfalls einwandfrei! Nur dieses blöde ResultSet will nicht gehen!

    There's no better place than 127.0.0.1!

  • Hm, merkwürdig. Ich weiß zwar nicht, woran das Problem liegt, aber es funktioniert, wenn du eine view

    Code
    create view bla (price,userid) as select sum(price*amount) as price, userid from items, basket where basket.itemnr=items.itemnr group by userid;

    erstellst und dann

    Code
    String query="select price from bla where userid=" + userID;

    verwendest.

  • So...jetzt bin ich hinter das "Geheimnis" gekommen.
    Plötzlich ist nämlich (nach längerer Zeit) doch sogar der richtig Wert rausgekommen...
    Also, das Problem war dass ich während ich mein Java-Programm ausgeführt habe, gleichzeitig im SQL Plus natürlich mit dem selben User eingeloggt war. Als ich SQL Plus beendet hatte - zack, es geht, und zwar immer!
    Also ich vermute mal stark, dass Oracle Probleme mit den Sessions hat oder so. Wahrscheinlich wird die aktuelle Session nicht gleich übernommen sonder zwischengespeichert oder so.

    There's no better place than 127.0.0.1!

  • Alternativ zum Beenden von SQL-Plus in SQL-Plus ein COMMIT durchführen.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!