oracle数据库cursor问题,超出打开最大cursor数

问题描述

我创建了一个CallableStatement用来将给object表插入数据时,将生成的id返回。String objectSQL = "begin insert into object(id,name,meta_type,status,create_date,create_user_id,last_update_date,province,city,street,community,grid,operator_id) values (null,?,?,?,?,?,?,?,?,?,?,?,?) returning id into ?;end;";CallableStatement objectCallPS = conn.prepareCall(objectSQL);插入的数据是通过另外一个查询做的String qsql = "select "+allkey+" from " + reportTaskVO.getTableName() + " where update_flag=" + StatusUtil.NEW_DATA +" group by "+allkey;// andResultSet rs = st.executeQuery(qsql);当我迭代这个ResultSet的时候,执行一部分后,就会抛出超出最大cursor数的异常。objectCallPS.execute();之前试过修改系统中open_cursors的值,但发现,数据再多点,还是会抛出这个异常。各位高手,知道有什么好的解决方法吗?异常信息如下:java.sql.SQLException: ORA-01000: 超出打开游标的最大数ORA-06512: 在 "SYSADMIN.OBJECT_TRIGGER", line 2ORA-04088: 触发器 'SYSADMIN.OBJECT_TRIGGER' 执行过程中出错ORA-06512: 在 line 1 问题补充:zyn010101 写道

解决方案

10000条数据,分十页,每次1000条,每次往游标中放1000条,分十次循环。当然了,分多少页依赖于数据的总条数,计算这个应该不难吧?
解决方案二:
根据分页思想分批执行呗。

时间: 2024-10-31 01:43:09

oracle数据库cursor问题,超出打开最大cursor数的相关文章

数据库服务器-什么情况下会出现oracle数据库自身连接超出最大连接数 ----急急急!!!

问题描述 什么情况下会出现oracle数据库自身连接超出最大连接数 ----急急急!!! 5C 这些天一直被这个问题困扰,oracle连接超出最大连接数.原以为是tomcat程序还有没释放的连接,但是经过追踪审查之后发现不是程序的问题,而是数据库本身连接数异常多.下面是我操作过程. 重启oracle服务后,登陆sqlplus.SQL> select count(*) from v$session;SQL> show parameter processes;SQL> show parame

Oracle出现超出打开游标最大数的解决方法_oracle

本文实例讲述了Oracle出现超出打开游标最大数的解决方法.分享给大家供大家参考,具体如下: Java代码在执行conn.createStatement()和conn.prepareStatement()的时候,实际上都是相当与在数据库中打开了一个cursor.尤其是,假如你的createStatement和prepareStatement是在一个循环里面的话,就会非常轻易出现这个问题.因为游标一直在不停的打开,而且没有关闭. 一般来说,我们在写Java代码的时候,createStatement

oracle,游标使用,错误:cursor attribute may not be applied to non-cursor 'CUR_PRODRCD'

问题描述 oracle,游标使用,错误:cursor attribute may not be applied to non-cursor 'CUR_PRODRCD' 问题补充:hudingchen 写道 解决方案 dbms_output.put_line('已经取出所有数据,共' || cur_prodrcd%rowcount || '条记录.'); cur_prodrcd应该是cur_prdt_catg啊解决方案二:代码怎么写的?

通过ASP.NET连接Oracle数据库实例教程

通过ASP.NET连接Oracle数据库实例教程 长期以来,我一直用的是 MS SQL Server / Access 数据库,通过.NET 访问MS自家的东西几乎没碰到过什么麻烦.最近项目中要用 Oracle 作为数据库,学习研究了一些 .NET 访问Oracle 的东西,发现问题倒真的不少. 1.System.Data.OracleClient 和 System.Data.OleDb 命名空间 虽然通过这两个命名空间的类都可以访问 Oracle 数据库,但和 SQL Server 类似的(S

通过.NET访问 Oracle数据库

oracle|访问|数据|数据库 长期以来,我一直用的是 MS SQL Server / Access 数据库,通过.NET 访问MS自家的东西几乎没碰到过什么麻烦.最近项目中要用 Oracle 作为数据库,学习研究了一些 .NET 访问Oracle 的东西,发现问题倒真的不少. 1.System.Data.OracleClient 和 System.Data.OleDb 命名空间 虽然通过这两个命名空间的类都可以访问 Oracle 数据库,但和 SQL Server 类似的(System.Da

PHP 留言簿(带Oracle数据库分页的显示功能)

oracle|分页|数据|数据库|显示 大部份的网站,都会考虑到和使用者之间的互动关系.这时,用留言版的功能,可让使用者留下到此一游,或者是一些和网站的互动讯息. 在设计上,可以很简单的只留下使用者的短篇留言,也可以设计到依性质分门别类很复杂的 Web BBS 系统.当然,要如何打造一个属于自己网站的留言版,就端赖网站的性质以及 Web 网站开发人员的巧思了. 在这里介绍的范例,是简单的列示所有留言的内容.供使用者可以一次看到多笔留言的资料.系统的后端存放留言是用 Oracle 7.x 版的资料

带Oracle数据库分页显示功能的留言簿(3)

oracle|分页|数据|数据库|显示 程序分成四部份 1.. 初始化 2.. 取数据库中的数据 3.. 计算要显示的页数 4.. 送出资料 这个程序在 BIGLOBE 上有实作,由于这是一间 ISP 公司,因此在设定时限定连结或专线的会员才能看到,进入前要输入帐号及密码.为了保护留言者的隐私,留言以马赛克处理. $WebmasterIPArray = array( "10.0.1.30", // 管理人员甲的机器 IP "10.0.2.28" // 管理人员乙的机

Oracle数据库游标使用

oracle|数据|数据库|游标 SQL是用于访问ORACLE数据库的语言,PL/SQL扩展和加强了SQL的功能,它同时引入了更强的程序逻辑. PL/SQL支持DML命令和SQL的事务控制语句.DDL在PL/SQL中不被支持,这就意味作在PL/SQL程序块中不能创建表或其他任何对象.较好的PL/SQL程序设计是在PL/SQL块中使用象DBMS_SQL这样的内建包或执行EXECUTE IMMEDIATE命令建立动态SQL来执行DDL命令,PL/SQL编译器保证对象引用以及用户的权限. 下面我们将讨

PHP使用Oracle数据库

oracle|数据|数据库 [摘 要] HP提供了2大类API(应用程序接口)来操作Oracle数据库.一个是标准的Oracle处理函数(ORA) 另一个是Oracle 8调用接口函数(OCI8). 后者只能在Oracle 7或8版本上使用. 由于OCI8 提供了很多优化选项,因此只要有可能就应该采用 OCI8 接口. 在php3.0以上版本中,php内置了几乎目前所有的数据库处理函数,包括Oracle;在本文中我们通过一个实例来介绍了如何使用这些函数来操作Oracle数据库. PHP提供了2大