社区
Java SE
帖子详情
ResultSet 有没有选择数据行的限制??
qianxf2008
2007-12-17 09:32:14
用JDBC连接Oracle数据库,检索出60万的数据,读出一条数据,按一定的格式写入文件中,如此循环的读写,但到了20多万的时候,就不读写了,文件大小不变了。
但程序未终了。
请问ResultSet 有没有选择数据行的限制??
除了以上的方法,还有其他的方法吗??
谢谢!!
...全文
228
8
打赏
收藏
ResultSet 有没有选择数据行的限制??
用JDBC连接Oracle数据库,检索出60万的数据,读出一条数据,按一定的格式写入文件中,如此循环的读写,但到了20多万的时候,就不读写了,文件大小不变了。 但程序未终了。 请问ResultSet 有没有选择数据行的限制?? 除了以上的方法,还有其他的方法吗?? 谢谢!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qianxf2008
2007-12-18
打赏
举报
回复
结贴了
进者有分。
farandfaraway
2007-12-17
打赏
举报
回复
statement有setMaxRows可以限制
freedom2001
2007-12-17
打赏
举报
回复
那你该问问文件有没有数据限制,最起码execl对于写入的行书是有限制
还有你这60W循环着写,你不觉得效率有问题吗?
victoryzll
2007-12-17
打赏
举报
回复
为何不这样
ResultSet->List->String->File
洪泉
2007-12-17
打赏
举报
回复
其实你可以想想办法,不要一次性从数据库里查询那么多的记录,分开查,写文件的时候用append的方式写。
另外可以做一些配置性的工作,记录当前写到哪条记录了,万一程序出错了,可以从上次的记录开始。
孟子E章
2007-12-17
打赏
举报
回复
你可以分段操作,比如将id按1000的整数倍进行划分
timbear
2007-12-17
打赏
举报
回复
学习中,顶一下~
qianxf2008
2007-12-17
打赏
举报
回复
最初的方法就是用victoryzll 说的方法,但是在客户的机器上内存溢出了,在我的机器上就如上所述了像死循环一样。
文件大小没有限制,是一般的文本文件。
读60W的纪录:想了两种方法。一种就是上面那种了。另一种就是读出一条写文件,再读写。
不知道还有没有其他的方法,有知道的请指教下。谢谢了。
看看了API,试了试farandfaraway 说的方法,生成文件了,谢谢了。
只是有点不明白的是:不知道statement有没有默认值。按照API说的,如果超出限制的行数,就撤销。是不是这个意思:假设默认值为80,检索出100条记录,
那20条记录就取不到。但按原来的方法,取到20W多时,要等待很长的时间才能取一些数据,再等待,再取。不明白是什么原因。
看看还有更好的方法没,没有的话,明天结贴。
mysql-connector-java-5.1.30工具
MySQL官方提供的驱动包 mysql-connector-java-5.1.30.zip
为什么 JDBC 编程中的 Connection、PreparedStatement、
ResultSet
三大核心资源必须关闭?
JDBC编程中必须关闭Connection、PreparedStatement和
ResultSet
三个对象,因为它们分别占用
数据
库连接、SQL执
行
句柄和查询游标等稀缺资源。不关闭会导致资源泄漏,引发内存溢出、
数据
库连接耗尽等问题。关闭顺序必须遵循
ResultSet
→PreparedStatement→Connection,避免因依赖关系导致关闭失败。推荐使用Java7+的try-with-resources语法自动关闭资源,确保可靠释放且代码简洁。
java中
resultset
返回值_JDBC基础教程之
ResultSet
对象 | 学步园
ResultSet
包含符合 SQL 语句中条件的所有
行
,并且它通过一套 get 方法(这些 get 方法可以访问当前
行
中的不同列)提供了对这些
行
中
数据
的访问。
ResultSet
.next 方法用于移动到
ResultSet
中的下一
行
,使下一
行
成为当前
行
。结果集一般是一个表,其中有查询所返回的列标题及相应的值。例如,如果查询为 SELECT a, b, c FROM Table1,则结果集将具有...
JDBC用
ResultSet
访问大量
数据
时会遇到的问题
我们经常需要JDBC来对
数据
库就
行
操作,一般流程为连接
数据
库、通过sql语句把需要的
数据
取出来保存到
ResultSet
,然后调用
ResultSet
方法的类似 getString,getInt()等方法来取出
ResultSet
中的
数据
。当
数据
量比较小的时候,这种访问方式可以正常运
行
。但是当
数据
量很大的时候,在对
ResultSet
中的部分
数据
完成访问后会抛出异常(JDBC游标超过
限制
出现O...
JDBC使用
ResultSet
卷动、更新
数据
通常,我们在使用JDBC的
ResultSet
时,默认使用next()移动
数据
至下一个
数据
,然后使用getXXX()方法来获得
数据
,但是这样并不方便,比如在访问完一个
数据
项后,想向前或者向后、寻找第一条或者最后一条记录项,或者在查看某个
数据
项后想更新该
数据
项,这是就用到了JDBC提供的
ResultSet
卷动、更新
数据
了。 ###结果集类型与并
行
方式 在使用Connection的createStatement
Java SE
62,623
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章