Hello,
Recently I have migrated a very old Powerbuilder application to the version 2019 R2. I have tested some windows and inserts, updates and deletes and I noticed that a lot of procedures datawindows was not returning any rows in the retreive. I have opened all the dw source, saved and regenerated and after that the dw got the results. The oringinal version 7 the application is showing correctly the records (maybe the DWs got corrupted during the migration?). Once this solved now I'm getting the error "Row changed between retrieve and update" in most of the screens that the version 7 is saving correctly. There is 2 main differences in the environmets, in the client they use MSS DBMS, SQL server 2008 with the compatibility mode SQL server 2000 (80). I know tha is a very very old DB, the version 7 is very old but I'm trying to sort this out, at least the migration. I have created the exactly same environmet in my company to run the migration and the DW errors started to popup in most of the screens , as an example below:
Database error code: -3
Database error message:
Row changed between retrieve and update.
No changes made to database.
UPDATE xxxxx SET lgh_comment = 'aaaaaa' WHERE lgh_number = 1111111
The only diffeence at this point is the DBMS, I'm using SNC instead of MSS (used in the Pb 7). I have installed the client and I'm using the following DBParm:
dbparm=Staticbind=0,Database='TMW_DC',Provider='SQLNCLI11',TrimSpaces=1,PBTRIMCHARCOLUMNS='YES',RecheckRows=1
I have tried a lot of different combinations without success, I have tried to set the trigger SET NOCOUNT ON and didn't work as well. I really don't know what to do anymore. Someone faced this same issue in here ? Can someone give me some help? I really don't know what to do anymore........
PS: The application had no changes at all, only migrated and the DMBS updated to SNC as the PB 2019 do not accept the MSS anymore.
I noticed as well if I disable the trigger in the table behind the dataobject I'm able to save the record with success. There is any dbparm that I can use to manage this? Why using the DBMS MSS with the very same trigger I don't get this error?