PowerBuilder 2022 / PowerServer Build 1892, Oracle 19 back end
The column is defined as: key_id number (10) in the table
When selecting a column in a table, I sometimes get the following error in PowerServer:
The Int64 type is not compatible with the data type of the mapped property 'key_id' on model 'd_entities'. Checking the d_entities.cs file in SnapDevelop, the field has been mapped as decimal. (It is defined this way in other dw.ds files that work)
I've tried several column types in the datawindow, decimal, long, ulong. Which type should I be using?
Thanks
I would like to suggest that you open a Support Ticket for this issue. This seems to affect both PowerServer & SnapDevelop applications BTW. I see the one ticket that directly relates -ticket: 9075. The workaround there was to change the column type from INT64 to Decimal in that case but. I know that this would be a huge amount of work for you DBMS schema wise. With a Support Ticket, we should be able to get the current status of what Engineering is working on from a fix perspective. FYI: The same issue for SQL computed columns in a Stored Procedure result set that also uses INT64 data type.
Regards ... Chris
I did some further playing with the Stored Proc that is being used. I changed the return type to be only an out parm (was in/out) and from a defined record type, to be sys_refcursor. This cleared the Int64 error in PowerServer. Checked the .cs file, and the value was now defined as a double type, and throwing a decimal error in PowerServer. I then changed the datawindow's column type to decimal, and error has gone away.
I'm glad that this worked. The current INT64 problem seems to be where it's used as a column data type. The PB compiler seems to get confused DWO wise (at least SS wise) compared to what the C/S model generates. Hence, the PS to DWO data mapping error.
Regards ... Chris