Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#10

Re: Kommunikationsproblem zwischen Delphiprog. und Oracle-DB

  Alt 24. Nov 2009, 11:26
Hallo,
Zitat von Alex O.:
gibts auf den Clients vielleicht eine Exception oder einen Oracle-Error?

Wird die Exception vielleicht irgendwie verschluckt (Try/Except)?

kontrolliere mal das Oracle-Trace-File (auf dem DB-Server unter [Oracle-Home]\diag\rdbms\[Instanzname]\trace, oder so ähnlich), das nennt sich Alert.Log - dort sollten ev. Oracle-Fehler auch aufgezeichnet werden
zu 1.: Nein, weder Exceptions noch Oracle-Error, was an Fehlern auftritt wird grundsätzlich in eine Logdatei des Programmes geschrieben, zusätzlich schreiben wir auch den Verarbeitungsfortschritt. Das Letzte, was wir sehen, ist: Führe SQL xyz aus (xyz steht für das vollständige Statement mit sämtlichen Parametern). Danach steht das Programm. Auf der Datenbank sehen wir, dass das Statement dort angekommen ist und ausgeführt wurde. Wenn wir das richtig interpretieren, steht die Ergebnismenge zur Abholung bereit.
zu 2.: Habe da jetzt schon mehrere dutzend Male drüber geschaut, meiner Meinung nach wird keine Exception verschluckt. Try-Except-Blöcke sehen eigentlich immer so aus: Im Except wird der Fehler gefangen, protokolliert, ggfls. aufgeräumt und dann die Exception per Raise weitergereicht.
zu 3.: Werde schauen, ob ich da mal an die Maschine darf mit 'nem Admin, der weiß wo die Files liegen. Von der "Baustelle" habe ich fast keine Ahnung. Gesagt, getan: Zum fraglichen Programm sind dort keine Einträge zu finden

Zitat von ULIK:
Den DB Monitor von DevArt hast Du schon aktiv geschaltet? Ansonsten fällt mir eigentlich nur noch RemoteDebugging ein (auf euren Delphi-Rechnern könnt ihr das Problem nicht nachvollzeihen, richtig?). Halt, noch was: habt ihr MadExcept eingehängt? Wenn ja, dann stellt doch mal dort ein, daß er alles über 60 Sekunden Inaktivität als Freeze erkennen soll. Dann solltet ihr am Bugreport sehen, wo genau er hängen bleibt.
"DB Monitor von DevArt" habe ich ebensowenig zur Verfügung wie MadExcept. Da müsste ich erstmal durch die Hierarchien und um Erlaubnis bitten, für 'nen Externen leider nicht so ganz einfach
Und wie das so ist: Auf Entwicklungsrechnern haben wir das Problem nicht.

Remotedebuggen wäre mal noch 'nen Versuch wert. Brauche auch dazu den Admin vom Produktivsystem, damit der den Job mal startet und ich dann draufschauen darf.

Noch eine neue "Erkenntnis": Das Programm bleibt nur beim Start gegen bestimmte Datenbanken hängen, aber nicht gegen alle. Haben eben nochmal ausprobiert: Gegen Datenbank X geht's, gegen Datenbank Y nicht. Die Datenbanken sind identisch (laut Admin), da sie voneinander "geklont" wurden. Auch der Datenbestand müsste noch (weitgehend) identisch sein. Die Datenbanken befinden sich jedoch auf unterschiedlichen Servern. Vom Entwicklungsrechner läuft das Programm gegen beide Datenbanken problemlos mit annähernd identischer Laufzeit und identischer Datenmenge.
  Mit Zitat antworten Zitat