oracle中不支持在url里指定字符集,有的数据库是可以的.
解决方案 »
- J2ee实现批量下载
- slf4j配置----------急!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- struts 里action 中怎么返回多个 forward
- 请问下LineNumberReader类中的getLineNumber怎么用,能否具体写个小点的程序,统计出代码的行数,非常感谢!
- java调用.net的webservice问题
- 有没有ajax高手帮忙
- hibernate问题求解决下!急急急
- 我们爱分享第二季 --- Javap 的使用
- 求教这样的XPATH怎么写?
- 大家注意了,帖子“如何在jb9中配置sttuts1.1&&在那里下载struts1.1”是倒分帖,我会要求大斑竹封杀掉相关帐号的,大家别进去浪费时间了
- 在java门口撞了个大包:关于Exception的一个简单问题
- csdn的论坛做的真烂,查询一个东西半天出不来
。
int haha=0;
while(rs.next()){
System.out.println("**********process current row: "+haha++);
citizen_id=rs.getString("idcard");
name = rs.getString("NAME").trim();
。。
}
执行结果如下:
**********process current row: 1
**********process current row: 4020130我也不清楚是怎么回事。
学习中
我最近也在为海量数据的查询问题头痛,很多人同时查询超过100000条以上的数据,EJB方面要如何应付呢?除了数据库方面多建索引之外,在EJB这里有什么好的优化方法么?EJB没有缓存技术吧,通过数据库游标可以实现缓存么? 另外,大家帮我看看这个问题:
http://expert.csdn.net/Expert/topic/2093/2093750.xml?temp=.6960871 楼主不好意思啊, :)
你用的是什么数据库? 哪种jdbc连接方式? 用哪种web服务器?谢谢!
只是没用到web服务器。
可能是这个原因才使得我做的操作可以一直执行下去吧。
不太懂。
继续学习。
你好,我现在的应用是必须把某张表的所有数据处理一遍,当然是要避免一次性把数据全部读入内存.所以试过用setfetch(),也试过定制sql语句让每次查询只返回10000条数据,结果是即使我只对数据库检索一次,检索从50000-60000这一万条数据也会报同样的错.不知您是否有解决方案,谢谢!
如果你再换小一点的返回条数,比如常规分页每页显示10-100行呢,会不会最终也出错?
如果这样也出错的话那你跳过出错点而从后面开始检索呢?
如果仍然出错建议检查数据完整性。是不是可能存在数据库页面文件错误?我提出的“是不是每个大表都出现如此情况?”不知道答案如何?
sybase用的是jconnect5.5版
oracle用的是8.17自带的classes12.jar
试过50000-60000,也试过60000-70000都是只能检索出几百,至多2千条数据就报错了.但小于50000以内的都没问题
通常都是可以的,
如果可以,你用PL/SQL来实现你的代码。
Oracle会自己处理内存分配问题。
绝对不会出问题。
那只剩下一招了:(。
JDBC。
没听懂,怎么解决?
那就设置一个manager,是单实例的,专门用来协调对三者的访问,
manager内部自己控制访问节奏。对三者进行分段访问。
适当部分可以采取存储过程。
回错贴了吧~~~~~
而是类似下面的地方
while (rs.next())
{
i++;
System.out.println("i="+String(i));
//...
}
纯粹让它遍历一遍,就会报错.
所以我想可能还是要从限制返回结果集条数方面下手,现在就是这个分段访问实现不了啊,用了oracle的rownum来限制依然报错,郁闷啊.......
我所能想到的分段访问只有上面写的"select * from ( select a.*, rownum rnum from ( select * from "+ DB_Table +") a where rownum <= ? ) where rnum >= ? ";这种了,但是结果也不成功.所以我觉得和业务逻辑关系不大,就是把任意一张表的所有数据取出来而已.
一个思路就是有什么通用的技术可以限定每次返回的条数
另一个思路就是特定数据库用特定sql语句来限定返回条数.第1个思路没找到方案
第2个用oracle的rownum来限定起始和截至条数,这样可以限定每次返回的总条数.但感觉它还是每次把整个表的数据都放到jvm中了,然后再取出相应的结果集,所以结果还是导致溢出.用特定数据库的sql语句限定本来已经是下策了,因为这样我还得对各种数据库都实现相应的sql语句才能让应用跨数据库.我比较奇怪的是,大家用了这么久了,从来没出现过对超大结果集遍历的需求么?
按照你的结果可能是你的数据库数据问题:
总是在固定的地方报出这种错误,查看一下报错误的地方数据库里的数据。
看有没有特殊的汉字,例如一些生辟的汉字(或者不支持的字符),
有可能是jdk或者jdbc还不支持的。
如果是这样那试着升级你的jdk或者jdbc包试试。
我的应用必须是对超大结果集遍历.即使是你所说的浏览,分页到最后也同样会出问题.to q_starry(秦) :
你所用的数据库? 结果集数量? sql语法?
检查过不是特定地方出错,是溢出的原因.jdk是最新的,jdbc也是......
我也碰到过楼主说说的情况,但几次的原因都是数据有问题,是其中的某个字段存在全角和半角的问题,当时我也是头疼死了,用sqlplus等其它工具查询都没问题,但用thin jdbc一连就报楼主那种错误,去分析一下吧,看看行不行