diewerdende
Goto Top

Oracle-Sequenz zählt 2 hoch wenn sie aus Access 2007 aufgerufen wird

Hallo zusammen,

ich habe hier eine Anwendung mit einem Access Frontend und einer Oracle 10 Express Datenbank. Bisher lief das Frontend unter Access 97. Jetzt möchten wir es gerne auf Access 2007 updaten. Dabei ist uns etwas sehr merkwürdiges aufgefallen.
Wenn wir unsere Oracle-Sequenzen aus Access 2007 aufrufen erhöht sich der Wert immer um 2 anstatt 1. Die gleiche Sequenz aus Access 97 mit dem gleichen ODBC Treiber aufgerufen funktioniert genau wie gewünscht. Laut ODBC-Tracing werden die Abfragen auch tatsächlich 2 mal ausgeführt. Warum ist das so?

Die Sequenzen sehen alle ungefähr so aus:
CREATE SEQUENCE "SEQ_TEST" MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 7820 NOCACHE ORDER NOCYCLE

Die Pass-Through-Abfragen alle so:
select User.SEQ_TEST.nextval from dual;


ich habe noch einige Sachen ausprobiert und habe festgestellt, dass die Sequenz richtig hochgezählt wird wenn ich das z.B. auf diese Art sofort in die Tabelle schreibe:
insert into Schema.Tabelle (Feld1, Feld2)
values (Schema.Sequenz.nextval, 'test');

Das liegt meiner Meinung nach daran, dass Oracle ja schon dafür zuständig ist den Wert in die Tabelle zu schreiben.

Hat jemand von Euch schonmal ein ähnliches Verhalten beobachtet oder hat eine Idee woran das liegen könnte? Ich habe keine Lust alle Sequenzen umzuschreiben face-sad

Vielen Dank schonmal im Voraus
Die Werdende

Content-Key: 93552

Url: https://administrator.de/contentid/93552

Printed on: May 7, 2024 at 20:05 o'clock