1. Bryant Burnard
  2. PowerServer
  3. Wednesday, 22 March 2023 16:46 PM UTC

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

 

Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Wednesday, 22 March 2023 19:17 PM UTC
  2. PowerServer
  3. # 1

Hi Bryant;

  Yes, Engineering knows about this weird PS generation restriction / conflict. I have been working with a few customers of late who have this INT64 issue. They were using MS SQL Server but the end result (data type conflict) was the same - total DWO confusion. They way we worked around this issue for the time being was to change the DBMS column type to "Decimal". Then all generated DWO's worked well with that data type.  HTH

Regards ... Chris

Comment
  1. Chris Pollach @Appeon
  2. Wednesday, 22 March 2023 20:42 PM UTC
Hi Bryant;

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
  1. Helpful
  1. Bryant Burnard
  2. Wednesday, 22 March 2023 22:02 PM UTC
Hi 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.
  1. Helpful
  1. Chris Pollach @Appeon
  2. Wednesday, 22 March 2023 23:08 PM UTC
Thanks for the update Bryant. Ahh yes, that's one big "no, no" going to PS in that you cannot use the In/Out designation in a SP. You must only have SP's that have separate IN and separate OUT only argument.

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
  1. Helpful
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.