C++ 使用oci访问数据库出现“Column: 2<DOUBLE>, datatype in operator <</>>: CHAR”

502 篇文章 4 订阅

http://bbs.csdn.net/topics/90049666


比如有表a,其中一个字段是number类型的,如果在vc中读取这个大数,用什么来读取?
vc中int 和long int都是4个字节的,根本不够用啊?
如果定义一个string s来接受这个整数的话,用otl_stream o;
o>>s;接受的时候,提示错误,因为oracle里面的number不能用string来接受,如果用int i;
o>>i;可以,但是i溢出,得到的值不正确啊,谁遇到过这样的情况,怎么解决的?


不能用char来接收number字段的内容
提示错误如下:
Column: 1<DOUBLE>, datatype in operator <</>>: CHAR


otl_long_string 只能接收oracle数据库中字段为long类型的,number类型的不能用otl_long_string来接收,如果用otl_long_string来接收的话,例如

otl_long_sring ols;
o>>ols; // o 为 otl_stream 类型
提示出错,类似和用char接收number一样的错误,


不是说了嘛
ostream::set_column_type转成字符串
读出来后,
boost::lexical_cast或者自己处理字符串都可以
哎……

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值