2016-12-08 65 views
1

早上好人!在我的系统上,从Firebird 2.5迁移到3.0之后,许多报告和其他功能开始出现问题,说明预期的是Integer,而当前的是LargeInt。我看了一下,看到一些3.0中count的搜索返回一个Bigint列,而在2.5中返回一个Integer列。计数在火鸟3.0巨人队vs火鸟2.5整数

为了解决我所知道的问题,我必须对出现错误,测试和工作的所有事情施以强制性表演,但这是一个很大的系统,它会带来很多工作。

有没有人知道任何方式来解决火鸟本身?一些配置,或者什么?

回答

0

我使用Unidac,并为解决方案使用了Map Rules(数据类型映射)。

3

没有配置;在Firebird 3 release notes only say

COUNT()聚合现在返回其结果为BIGINT,而不是INTEGER

您或者需要在您的查询或代码中显式应用强制转换,或者查看您的数据访问库是否可以明确请求整数而不仅仅是动态类型。例如在Java世界中,JDBC API有一个明确的getInt,只要该值适合32位整数,它将适用于BIGINT