Count on Firebird 3.0 Bigint X FIrebird 2.5 Integer

2

On my system, after migrating from Firebird 2.5 to 3.0 , many reports and other functions began to give problem stating that expected was Integer and current is LargeInt . I took a look and saw that some searches with count on 3.0 return a Bigint column, while on 2.5 returns a Integer column.

To solve the way I know, I would have to do cast on everything that is giving error, tested and worked, but it is a big system, it will give a lot of work.

Does anyone know of any way to solve this, in Firebird itself? some configuration, or something like that?

    
asked by anonymous 08.12.2016 / 11:17

2 answers

2

Friend, if you're using FireDAC , there's a very plausible solution. It's called MapRules , more information you'll find in this link .

With this technology, you can tell the system to treat a LargeInt field as Integer or vice versa. I use this feature in our system to do compatibility between different banks.

    
08.12.2016 / 13:07
2

In Firebird, I do not think I can configure this, see the Release Notes pag. 89 . Unfortunately in this case you will have to cast or if you are using the fields added in the qry or clientdataset I think it is just remove the field and add again that the driver maps the type correctly.

I've read the Migration Guide for Firebird 3 , have some cool tips.

/ p>     
08.12.2016 / 12:43