OTL更新mysql数据库错误

     现在项目中遇到一个bug需要解决.语音服务更新多条数据到mysql数据库,但是只有自增ID最大的数据更新成功了.其他数据,全部更新失败.
语音服务采用了OTL作为数据库处理层.
    
1、bug描述如图1:更新uid=12373~12377,tb_User表只有只有12377更新字段User_GPSswitch成功。
                         
2、为了排除语音服务的问题,按照服务的使用方法,重写了一份OTL更新数据库。经过测试,可以全部更新成功。
     排除了语音服务使用OTL库错误的问题。
     语音服务OTL使用代码如图2、图3。
3、测试程序更新到测试环境(bug复现的环境),发现问题复现了,问题定位到环境配置。
      查看unixODBC版本,centos6.6默认yum安装了2.2.14。
      而本机调试环境,版本为2.3.6.
      查看unixODBC版本更新记录,有如下描述:
      18.Nov.2008 2.2.13 Released
      - Remove the MySQL Driver, its woefully out of date now
     因此,初步判断为版本问题。升级unixODBC到2.3.6,再次测试问题解决。

     
                                                                                               图 1
                                                                                         图 2

                                                                                              图 3
截图不完整,补充OTL语句如下:
otl_update_user.open(user_list.size(),"UPDATE tb_User SET User_Name=:f1<char[50]>, User_Password=:f2<char[50]>, User_AudioStatus=:f3<int>, User_GPSswitch=:f4<int>, User_GPSfrequency=:f5<int>,  User_Type=:f6<int> WHERE User_ID=:f7<int>",*m_db);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值