problems with ODAC 6

Discussion of open issues, suggestions and bugs regarding ODAC (Oracle Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
spiller72
Posts: 2
Joined: Wed 13 May 2009 16:37

problems with ODAC 6

Post by spiller72 » Wed 13 May 2009 16:43

I installed new ODAC 6 on Delphi7 and I've many problems with tOraQuery components (problem with provider flags, applyupdates, SQLInsert,Update,Delete, reconcile error...).

Before, I worked with ODAC 4 without any of these problems.

Please help!

Plash
Devart Team
Posts: 2844
Joined: Wed 10 May 2006 07:09

Post by Plash » Thu 14 May 2009 06:12

Please describe all problems in details.

spiller72
Posts: 2
Joined: Wed 13 May 2009 16:37

...describe problem

Post by spiller72 » Thu 14 May 2009 09:00

After applyupdates I analyze problem trough SQLMonitor and I saw difrence between Odac4(O4) and Odac6(O6).
I use tOraQuery and in O4 sql update dinamicly create and in O6 not. Here is example:
****************************************************
ODAC6
Start:

SQL Execute [Update]: UPDATE table
SET
column1 = :column1,
column2 = :column2,
column_n = :column_n....
WHERE
pk_column = :OLD_pk_column

:column1(FLOAT)='14.05.2009 10:22:05'
:column2(FLOAT)=2009
:column_n(FLOAT)=6
:OLD_pk_column(FLOAT)=18

Error: ORA-20143: error message
ORA-06512: at "NROB.PACKAGE", line 1311
ORA-06512: at "NROB.trigger_procedure1", line 2
ORA-04088: error during execution of trigger 'NROB.trigger_procedure1'

Commit:
**************************************************
ODAC4
SQL Execute: begin :result := sys.dbms_transaction.local_transaction_id(true); end;

:result(VARCHAR[0])=

SQL Execute: update TABLE set
COLUMN1 = :1
where
PK_COLUMN = :2

:1(IN)='14.05.2009 10:22:05'
:2(FLOAT,IN)=18

Error: ORA-20143: error message
ORA-06512: at "NROB.PACKAGE", line 1311
ORA-06512: at "NROB.trigger_procedure1", line 2
ORA-04088: error during execution of trigger 'NROB.trigger_procedure1'

SQL Execute: select PK_COLUMN
from TABLE
where
PK_COLUMN = :1

:1(FLOAT,IN)=18

Commit: [email protected]
**************************************************

Plash
Devart Team
Posts: 2844
Joined: Wed 10 May 2006 07:09

Post by Plash » Mon 18 May 2009 08:08

ODAC 6 has the new feature: if you assign a value to the SQLUpdate property of TOraQuery, this statement is used when you call TClientDataSet.ApplyUpdates. You should clear the SQLUpdate property to make ODAC generate an update statement automatically.

Post Reply