database - 计算 Firebird 3.0 bigint 与 Firebird 2.5 整数

标签 database delphi-7 firebird unidac firebird-3.0

在我的系统上,从 Firebird 2.5 迁移到 3.0 后,许多报告和其他函数开始出现问题,指出预期的是 Integer 而当前的是 LargeInt。我看了一下,发现一些在 3.0 中使用计数的搜索返回一个 bigInt 列,而在 2.5 中它返回一个整数列。

为了解决我所知道的方法,我将不得不对所有出现错误、经过测试和工作的东西进行强制转换,但这是一个大系统,它会提供很多工作。

有谁知道有什么方法可以在 Firebird 中解决这个问题吗?一些配置,还是什么?

最佳答案

它没有配置; Firebird 3 release notes only say :

The COUNT() aggregator now returns its result as BIGINT instead of INTEGER.

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

关于database - 计算 Firebird 3.0 bigint 与 Firebird 2.5 整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41039003/

相关文章:

database - DB2 Express 的默认用户名和密码

c# - Delphi 7 Glyph.Data 十六进制到数据 URI

c# - 使 Firebird 与 Entity Framework Code First 和迁移一起工作

sql - 获取每月的第一天(和最后一天) - 表达式简化

Delphi客户端服务器数组发送

database - Firebird数据库模式/数据差异工具

mysql - JBOSS 和 MySql

database - 如何使用 Flutter 删除 Firestore 中具有特定值的多个文档

php - 如何选择以起始值开头的数据库?

delphi - TPNGObject - 创建一个新的空白图像并在其上绘制半透明图像