1

我在尝试在 Oracle DB 的 NUMBER(10) 数据类型和 int(soci::dt_integer) 之间转换时遇到问题。问题是整数范围在 NUMBER(10) 之内,尽管 NUMBER(10) 实际上是 dt_long_long。

当我尝试使用 soci 类型转换 [ values.get<int>()] 转换值时,当列类型为 NUMBER(10) 时会出现异常。如果我将其更改为values.get<long long>()无法对 NUMBER(6 个左右) 类型进行数据写入。

直接调用 soci session 语句时,这些转换工作正常。但是当我尝试为类尝试自定义类型转换时它不起作用。

当我尝试读取列数据类型时,会抛出一个 soci_error "Rowset is empty"。有没有人遇到过这个问题?

谢谢。

4

0 回答 0