Globale Temporäre Tabelle mit "On commit delete rows" nicht halten alle Daten

Ich habe eine Globale temporäre Tabellen (GTT) definiert ein Erstellungs-Skript mit der option zum löschen von Zeilen auf einen commit. Ich wollte in der Lage sein, verschiedene Benutzer sehen Ihre Daten in den AGBs und nicht die Daten anderer Leute-Sitzungen. Dies funktionierte perfekt in unserem test-Umfeld.

Aber dann habe ich bereitgestellt GTT als Teil eines Updates, um die Funktionalität auf die client-Datenbank. Der Kunde rief mich ganz aufgeregt und besorgt, weil die AGBs nicht halten keine Daten mehr, und Sie wusste nicht, warum.

Speziell, wenn jemand hat:

insert into my_GTT (description) values ('Happy happy joy joy')

der Datenbank reagieren würde:

1 row inserted. 

Jedoch, wenn die gleichen end-user versucht:

select * from my_GTT

Der Datenbank reagieren würde:

0 rows returned.

Dieses Problem passiert auf der client-Seite, und wir können es nicht reproduzieren im Haus. Was könnte die Ursache dieses Verhaltens?

  • Was ist "playmate" - ist, dass eine andere Sitzung? Haben Sie versucht, die änderung der Tabelle zu ON COMMIT PRESERVE ROWS, nur um zu sehen, was passiert?
  • "Spielgefährte" ist ein end-Benutzer. Dieses Problem passiert auf der client-Seite, und wir können es nicht reproduzieren im Haus. Auch glaube ich nicht, haben keine Kontrolle über die änderung der Tabelle-code, da es auf der client-Seite.
  • Hatten Sie schon einmal unten auf dieser? Auf dem Gesicht von ihm, ein Problem mit Berechtigungen (d.h. der Benutzer darf schreiben, aber nicht Lesen), scheint weniger wahrscheinlich als ein autocommit-Einstellung irgendwo.
  • Im Rückblick auf diese Frage, nun mein Versuch, lustig zu machen, lässt mich Fragen "was zum Teufel war diese Frage etwa?", Ich weiß nicht einmal erinnern, was für ein system ich hatte das Problem (jetzt ist mein Alter job)
InformationsquelleAutor glasnt | 2010-04-23
Schreibe einen Kommentar