现项目中有需求,要从其他项目中导入100MB的xml到oracle数据库中去,我用SAXReader试了,但都outofMemory了,请各位高手不吝赐教
解决方案 »
- 如何用xFire实现天气预报功能
- 炎热的夏天给大家来点凉菜
- 求助,Struts2 获取Json 乱序问题!
- JNDI 中,Java:comp /env是绑定到容器环境命名上下文的名字。求详细解释啊,小弟不理解。
- 跪求高手-----请教下谁知道fckeditor的一键排版功能
- 一起做网站---淘宝开放平台
- 关于tomcat.很奇怪的问题
- JTable中cell的数据修改成功了,可是数据库里的数据还是原来的,如何实现?
- JB调试weblogic81的连接oracle数据库出错了,请给看看!
- 有谁正真用过jboss+tomcat作过项目,不知它是否稳定,速度怎么样,我该选用那个版本?
- [求助]为什么继承关系的实体使用泛型时,页面对主键赋值会出现数组的情况?
- eclipse4.2创建JSF项目的问题
PreparedStatment.setCharacterStream或者PreparedStatment.setBinaryStream
文件还是存在硬盘上,在DB里存入该文件的地址,这样做是否更合理?
1.增加java的内存:
java -Xms16m -Xmx64m your_app
2.将你的XML文件手工分拆成几个小文件,再由你的应用处理。
3.当做普通文本文件,一行行读取出来,自己解析成对应数据。
java -Xms128m -Xmx256m your_app
当然我开始的假设不成立,你的xml里有二进制的什么东东,不是一块块的。 一块就很大那么只能把当二进制读来存DB里。
utf-8格式的啊,
我在想用什么导入,怎样写这个导入工具,因为我每次试各种办法,都是在读的时候就挂了outofmemoryerror
楼上的,我也想分,但这100MB的数据还只是两个区县的数据,以后,这个系统每个月会过来18个区县的xml文件,试问我怎么分?难道分成180个文件吗?
++提供的几个方法都可以
1、如果内存足够,就使劲加吧
2、UE或者EditPlus都可以打开大文本文件,打开之后分段复制内容存到小文件里
3、XML可以用Excel打开,另存为*.xls之后,用PL/SQL工具可以直接导入到Oracle
+4、如果数据格式很乱,也可以自己开发程序解析XML,内存溢出的问题参考1、2即可
估计楼主你是误解了基于事件驱动的开发模式吧。基于流式处理的还有 StAX 也很不错,可以试试看,这里有教程和例子:
http://www.ibm.com/developerworks/cn/xml/x-stax1.html
No more pseudo attributes are allowed,请问这是因为什么啊?