在线等 java.sql.SQLException: out of memory

mabingbinga 2012-08-15 02:27:15
我的javaweb项目 项目名为fakeji 在WebRoot下面有文件夹data data中有文件data1.db

我连接数据库的语句为 public class DB {
public static Connection getConn() {
Connection conn = null;
try {
Class.forName("org.sqlite.JDBC");
conn = DriverManager.getConnection("jdbc:sqlite://fakeji/data/data1.db");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}

为什么用myeclipse6.6、启动tomcat6.0 进入页面的时候提示错误为:

java.sql.SQLException: out of memory
at org.sqlite.DB.throwex(DB.java:252)
at org.sqlite.NestedDB.open(NestedDB.java:47)
at org.sqlite.Conn.<init>(Conn.java:36)
at org.sqlite.JDBC.connect(JDBC.java:38)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:207)
at test.db.DB.getConn(DB.java:12)
at test.dao.SqliteDAO.getDeptName(SqliteDAO.java:46)
at org.apache.jsp.data.Deptinfo_jsp._jspService(Deptinfo_jsp.java:82)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)
最奇怪的是 我把连接改成 conn = DriverManager.getConnection("jdbc:sqlite://f:/data1.db"); 之后再把data1.db 拷贝到f盘中 就完全正常了 求各位 大侠解释!
头疼
...全文
598 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
scbb 2012-08-15
  • 打赏
  • 举报
回复
可能WebRoot下面有文件夹data data中有文件data1.db 这个时候,把db文件当resource读了。
全部读到内存来了,而指定磁盘地址就直接访问,而不读到内存了。
C_c 2012-08-15
  • 打赏
  • 举报
回复
Preferences — Server - Tomcat - tomcat6.0 - JRE - 右边一个大点的输入框Default VM Arguments中设置-Xms256M -Xmx512M 前面一个参数是最小分配的内存,后面是最大

redstone1202 2012-08-15
  • 打赏
  • 举报
回复
加大一下myeclipse的内存,还有tomcat内存,应该是更改一个文件,里面有4个参数,上网查一下,我忘记了,先试试能行通么;不过本质还是你的文件太大了
mabingbinga 2012-08-15
  • 打赏
  • 举报
回复
那为什么 我把db 文件放到 电脑F盘之后再连接 就正常啊 如果是像你说的那样应该怎么决解 因为项目要布置到服务器上面 不能放在我的F盘来使用啊
cxw3152 2012-08-15
  • 打赏
  • 举报
回复
你查的数据太多 超出了服务器分配的内存空间了。。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧