Delphi 7, ODAC latest release, Win 7 x64.
TOraSession, TProvider, TOraTable on the server side and a TClientDataset on the client side.
The TProvider has set the UpdateMode property to "WhereKeyOnly".
The table definition is below.
- create table BRANCH (
BRAID NUMBER(9) not null,
BRACODE VARCHAR2(25),
constraint PK_BRANCH primary key (BRAID)
);
create sequence BRANCH_seq nocache;
CREATE OR REPLACE TRIGGER BRANCH_BeforeInsRow BEFORE INSERT ON BRANCH FOR EACH ROW
begin
select BRANCH_seq.nextval into :new.BRAID from dual;
end;
If I set the table's KeyFields property to "BRAID", I can update the record without incidents.
Same, if the TProvider's UpdateMode property is set to "WhereChanged", or "WhereAll".
But having 200+ tables object in the server side, this is out of question.
Same application works perfectly with SDAC.
Although the error was reported on the SDAC forum under the same title and the moderator said that it was fixed, in ODAC at least, it is not.
I hope in a quick solution.
Thank you,
Radu B.