[gelöst] Ext.Tabelle (Oracle) verarbeiten

11. Januar 2012 15:36

Ich habe ein wundersames Problem:

ext. Tabelle definiert, Verbindungsserver zu Oracle 10g ist da, die Tabelle kann mit RUN angezeigt werden.

Wenn ich dann aber einen Report mache, der alle Daten verarbeiten soll, hängt er sich auf, weil er scheinbar die Tabelle immer wieder von Anfang an verarbeitet. (Geprüft mit 2. Session etc)

Der Witz ist, ein Dataport zum Export auf die Tabelle funktioniert !

Hat irgendjemand eine Idee, a) woran da liegt und b) was man dagegen tun kann.

Grüße und noch Alles Gute fürs Neue Jahr

ATLAN
Hermann Schubert.
Zuletzt geändert von Atlan am 10. Februar 2012 11:07, insgesamt 1-mal geändert.

Re: Ext.Tabelle (Oracle) verarbeiten

12. Januar 2012 09:08

Also als erstes solltest du bei der NAV-Tabelle zu deiner View prüfen, ob der Primärschlüssel korrekt gesetzt ist. Wenn das nicht der Fall ist, dann springt der Datensatzzeiger scheinbar unkontrollierbar hin und her.

Dass ein Dataport funktioniert und ein Report nicht hängt damit zusammen, dass hier die Daten unterschiedlich aus der Datenbank abgefragt werden. Ist aber schon lange her, dass ich das mal analysiert habe. Soll heißen: aus dem Kopf kriege ich die Unterschiede in den SQL-Befehlen nicht mehr zusammen (und die DLL ändert sich ja auch alle Nase lang).

Re: Ext.Tabelle (Oracle) verarbeiten

12. Januar 2012 09:15

Wie Tim schon sagte, kann der Primärschlüssel ein Problem sein, oder wenn du den Primärschlüssel des aktuellen Datensatzes im Report änderst oder löschst.
Hier hilft es u.U. mit einen Hilfsrecord, der im OnAfterGetRecord gefüllt wird, zu arbeiten. Wenn dort der Schlüssel geändert wird, ändert sich dadurch nicht der Satzzeiger des Reports.

Gruß, Fiddi

Re: Ext.Tabelle (Oracle) verarbeiten

10. Februar 2012 11:07

Hallo zusammen,

Nach einigen Tests und Versuchen mein Ergebnis:
1) Wenn ich per Report sequentiell Daten aus ORACLE verarbeitet, kann ich nicht sicher sein, alle Datensätze zu erwischen.
2) Da in der angesprochenen DB alle Felder einen Integer-Key hatten, bin ich dann über GLSETUP pro Forma eingestiegen und habe die Zugriffe auf die ORACLE-Tabellen durch Hochzählen des Key's und Tabelle.GET(Key) gemacht.

Diese Lösung hat hier funktioniert, auch weil die Keys in einem überschaubaren Rahmen vergeben waren.

Grüße
ATLAN / Hermann Schubert.