| 

.NET C# Java Javascript Exception

Ewige Datumsprobleme in Oracle

Dies ist das Archiv des ehemaligen Forums zum Thema Groovy, Grails, Griffon und Bean Scripting Framework, welches unter groovy-forum.de existierte. Die neue Adresse des Groovy-Forums ist: http://codekicker.de/fragen/themen/groovy.


Ewige Datumsprobleme in Oracle

wilhelm.nagy@bfw.gv.at - 17.12.2007 15:55
Liebe Freunde,

vielleicht könnt ihr mir bei folgenden Problem einen Rat geben.

In Oracle habe ich den Datentyp DATE. Dieser ist mit Datum UND Uhrzeit versehen.
Ich kann beides im SQL Editor ändern und es bleibt auch so.

Der Datentype Date in Groovy kann auch beides.
Date myDate = new Date()
println myDate.getHours()

Gibt in der Console brav die Stundenanzahl aus.

Leider bekommen ich in GSQL die Uhrzeit nicht zu sehen.
Ich habe schon eine Ganze menge probiert. Im u.a. Beispiel habe ich z.B: java.sql.Date versucht aber auch Date usw. nicht funktioniert richtig.

Da ich dynamisches SQL anwende und möglichst Datenbankunabhängig bleiben möchte funktionieren die ueblichen to_char/to_Date Tricks nicht.

Der umgekehrt Fall ein update mit Platzhaltern und einer Werteliste hat auch keinen Effekt. Es wird nur das Datum aber keine Uhrzeit gesetzt.

Die Recherche im Google hat mich eher verwirrt als erleuchtet. Die meisten mache eben die to_char/to_date Tricks und genau die kann ich nicht verwenden.

Hat jemand eine Tip?
Besten Dank im Voraus.



// Dieses Beispiel zeigt de Verwendung einer Datenbank
// 
// W. Nagy
// 7.9.2007
//
// Dieses Beispiel ist nicht sehr elegant es soll
// nur die Zusammenhaenge zeigen
//

import groovy.sql.Sql


// --- Datenbankverbindung aufbauen -----------------------
def getDbh() {
// -------------------------------------------------------
   def dbh
   try {
      dbh = Sql.newInstance("jdbc:oracle:thin:@**.**.**.**:1521:v9i", 
       		                  "xxxxx", "xxxxx",
                             "oracle.jdbc.driver.OracleDriver");
      }
   catch (Exception e) {
      println e.message
      return null
      }
   return dbh
   }

// HTML Header
println "<html><body><pre>"


println "Date Games"

// Datenbankhandle erzeugen
def dbh = getDbh()
Integer cntRec = 0
String sData = ''

// Ist Datebankverbindung OK
if (dbh != null) {
   println "DB OK "
   // Durchlaufen der Tabelle
   dbh.eachRow("select * from JOB_HISTORY where EMPLOYEE_ID=122") {row->
      cntRec++
      // Datenbuffer zusammenbauden
      java.sql.Date myDate = row.START_DATE
      sData += "${row.START_DATE} * ${myDate}  ${myTime  }<br/>"
      }
   }
else {
   // Wenn DB Fehler
   println "DBFEHLER"
   }


// Ausgabe Ergebnis
//
println "${sData}---- done --- ${cntRec} Records"

// Abschluss HTML
println "</pre></body></html>"

\^/ili
(Wilhelm Nagy)


Stelle deine Groovy-Frage jetzt!


Diese Seite zeigt den Thread "Ewige Datumsprobleme in Oracle" der ehemaligen Webseite groovy-forum.de, welche durch einen Serverunfall zerstört wurde. codekicker.de hat viele Konversationen über die beliebte Programmiersprache Groovy und zugehörige Frameworks wie das Grails-Framework retten können.

Hast Du eine Frage zum Thema Groovy, Grails oder allgemein Java? Viele ehemalige groovy-forum.de Mitglieder beantworten dir auf codekicker.de deine Frage! Stelle jetzt eine Frage!

Viele weitere Diskussionen zu Grails und Groovy befinden sich auf der Threadübersicht des alten groovy-forum.de.