Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 1296|回复: 0

'oracle 1002错誤 △

[复制链接]

该用户从未签到

发表于 2011-11-1 11:13:43 | 显示全部楼层 |阅读模式
    gewei大侠,請問,我现zai遇到这样一个wenti,在使用游标去fetch數据時,当数据量很小,以下语句可以成gong執行,當批量上传,数据量非chang大的时候,以下语句就会出错,報错是1002,请帮我看一下,问题zai哪儿,谢谢。
    [code=SQL][/code]EXEC SQL declare rtp_cur1 cursor for
    SELECT acct_name , acct_id , NVL( prov_name , chr( 0 ) ), NVL( area_name , chr( 0 ) ) ,
    is_same_city , acct_prop , sys_date , sys_seq_id , pay_amt , trans_stat ,
    bk_seq_no , NVL( gate_pri_data , chr( 0 ) ), mer_date, mer_id, ord_id,
    NVL( ret_url, ' ' ), NVL( mer_priv, ' ' )
    FROM PAY_LOG
    WHERE gate_id = :GateId and re_send_cnt < :FailResndCnt
    AND trans_stat = 'I'
    FOR UPDATE OF trans_stat , bk_seq_no ;
    if( sqlca.sqlcode != 0 )
    {
    ErrorLog( ERROR, "sqlca.sqlcode[%d][%s]" ,
    sqlca.sqlcode, ( char* )sqlca.sqlerrm.sqlerrmc ) ;
    return -5 ;
    }
    EXEC SQL open rtp_cur1 ;
    while( 1 )
    {
    for( i = 0; i <= 9; i++ )
    {
    if( !strcmp( GateId, pay_gate_list.GateId ) )
    {
    ErrorLog( TRACE , "check gate[%d][%s][%.2lf][%.2lf]",
    i, pay_gate_list.GateId,
    pay_gate_list.WarnAmt,
    pay_gate_list.LowAmt ) ;
    if( BankBal < pay_gate_list.WarnAmt )
    {
    ErrorLog( ERROR, "Bank Bal is too low to warning [%.2lf][%.2lf]",
    BankBal, pay_gate_list.WarnAmt ) ;
    sprintf( buf , "银行賬户余額低于警戒值[%.2lf],请財务部紧jichu理",
    pay_gate_list.WarnAmt ) ;
    snd_fnm( 'F' , "07" , "05" , "0002" , buf ) ;
    }
    if( BankBal < pay_gate_list.LowAmt )
    {
    ErrorLog( ERROR, "Bank Bal is too low to stop [%.2lf][%.2lf]",
    BankBal, pay_gate_list.LowAmt ) ;
    sprintf( buf, "银xing账户余e低于警戒值[%.2lf],交易已经暂停,請財wubu紧急处理",
    pay_gate_list.LowAmt ) ;
    snd_fnm( 'F' , "07" , "05" , "0003" , buf ) ;
    break ;
    }
    nFlag = 1;
    }
    }
    if( !nFlag && i >= 9 )
    {
    ErrorLog( ERROR, "gate_id[%s] invalid!", GateId );
    sprintf( buf, "网关[%s]非法,請联系技术部", GateId ) ;
    snd_fnm( 'F' , "07" , "05" , "0004" , buf ) ;
    continue;
    }
    EXEC SQL fetch rtp_cur1 into
    :AcctName ,
    :AcctId ,
    rovName ,
    :AreaName ,
    :IsSameCity ,
    :AcctProp ,
    :SysDate ,
    :SysSeqId ,
    :PayAmt ,
    :TransStat ,
    :BkSeqNo ,
    :GatePriData,
    :MerDate,
    :MerId,
    :OrdId,
    :RetUrl,
    :MerPriv;
    if(sqlca.sqlcode == 1403 ) /* no record */
    {
  1  break ;
    }
    else if(sqlca.sqlcode != 0 )
    {
    ErrorLog( ERROR, "fetch err sqlca.sqlcode[%d][%s]" ,
    sqlca.sqlcode, ( char* )sqlca.sqlerrm.sqlerrmc ) ;
    continue ;
    }
    请帮我看一下,指chu问题,xiao弟感激不尽,謝謝。
    Huan迎来到Java学习者论坛,转载请注明地址:http://www.javaxxz.com.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2024-5-21 17:52 , Processed in 0.373406 second(s), 46 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表