zoukankan      html  css  js  c++  java
  • OleDB Transaction ORA01000: maximum open cursors exceeded 超出打开游标的最大数

    今天客户报告错误,表行太多时上传失败

    查看后台错误日志,在事务执行插入时Oracle报错 Ora-01000

    源代码如下:

    //trans begin

    for (i ...)

    {

    cmds[i].connection=conn;

    cmds[i].transaction = tran;

    cmds[i].executedNonquery();

    }

    tran.Commit;

    上述在循环超过300时报错

    google后发现是超出了Oralce的最大游标数(9i默认是300)

    解决办法组种:

    1. 修改Oralcle参数

    2. 代码中即使销毁cmds[i] ,循环种加入cmds[i].Dispose();

    这今天项目比较紧,过两天仔细看看具体原理,ms是每个OleDbCommand会打开一个游标,至于如下在Dispose中关闭还没看

  • 相关阅读:
    [转载]苹果推送通知服务
    Lovekey
    大数阶乘的位数
    大明A+B
    大数取余
    A+Bcoming
    大数取余(C++)
    验证角谷猜想
    麦森数(转)
    大数阶乘的位数(C++)
  • 原文地址:https://www.cnblogs.com/calmzeal/p/1336218.html
Copyright © 2011-2022 走看看