1

I have encountered a problem when trying to convert between NUMBER(10) data type of Oracle DB and int(soci::dt_integer). The problem is that the integer range is within NUMBER(10) although NUMBER(10) is actually dt_long_long.

When I try to convert values using soci type conversions [values.get<int>()] it gives an exception when the column type is NUMBER(10). And if I change it to values.get<long long>() data writing cannot be done to a NUMBER(6 or so) types.

These conversion are working correctly when calling soci session statements directly. But it is not working when I try to try a custom type conversion for a class.

When I try to read the column data type, a soci_error "Rowset is empty" is thrown. Have anyone encountered this problem?

Thanks.

Sanka Darshana
  • 1,391
  • 1
  • 23
  • 41

0 Answers0