Skip to Content
0
Former Member
Jan 16, 2015 at 11:22 AM

o90 WIN7 64 bit error row changed between retrieve and update

21 Views

Hi,

we have a problem migrating from PB9 to PB12.5 to WIN7 64 bit OS

The application works fine under WinXP if compiled both in PB9 or PB12.5 , using O84 or O90 DBMS.

The problem is rising with WIN7 64 bit using O90. The application compiled in PB9 using O84 DBMS works without any problem (as under WINXP).

Changing the DBMS to O90 (to use the Pb12.5 version), both compilation (PB9 and PB12.5) get error "Row changed between retrieve and update" trying to save modified data after saving first time correctly.

The problem seems to be caused by wrong date format elaboration We traced the operation with QUEST SQL Tracker.

DB: ORACLE SERVER 9i and 10g

CLIENT: under WINXP : oracle instant client 10.2

under WIN7 74 bit : oracle instant client 11g

During the update process, here are the result (WIN7 with O90):

UPDATE "CL_CONTROLLI"

SET "DTREG" = <

Unsupported [0xBB]> , "TERM" = 'lab_ud', "ID_ATTIV" = '538693' WHERE "ID_CON" = '142727' AND "ID_DONATORE" = '39555' AND "PROGGIOR" = '1' AND "TIPO_CONTROLLO" = 'A' AND "NOTE" IS NULL AND "DTREG" = <Unsupported [0xBB]> AND "TERM" = 'lab_ud' AND "ID_ATTIV" = '538693' AND "ID_MEDI" = 'PAGLI'

:1=[<Unsupported [0xBB]> ]

:2=['lab_ud']

:3=['538693']

:4=['142727']

:5=['39555']

:6=['1']

:7=['A']

:8=[<Unsupported [0xBB]> ]

:9=['lab_ud']

:10=['538693']

:11=['PAGLI']

As you can see , the DTREG field is not specify and maybe this cause the error.

The same operation with O84 (PB9 under WinXp or WIN7) or O90 (PB9 and Pb12.5 under WinXp) traced with right value of the date field.

If we modified source code removing the date field (DTREG) from the update field list, there is no error and update process works fine.

Any suggestion?

thanks a lot

Luca Militello