【问题标题】:java.io.IOException: Access denied (H2 + Hibernate)java.io.IOException:访问被拒绝(H2 + Hibernate)
【发布时间】:2012-10-07 15:20:48
【问题描述】:

表格大小超过10000行

提交请求以每 6 秒读取最后 100 行
还有一个记录在案

但有时会出错

17:34:49,549 WARN SqlExceptionHelper:143 - SQL Error: 90031, SQLState: 90031
17:34:49,549 ERROR SqlExceptionHelper:144 - Ошибка ввода/вывода: "java.io.IOException: Access denied";
"C:/Users/name/Documents/NetBeansProjects/project/base.0b6276e133678305.1105.temp.db" IO Exception: "java.io.IOException: Access denied";
"C:/Users/name/Documents/NetBeansProjects/project/base.0b6276e133678305.1105.temp.db";
    SQL statement: select this_.id as id0_0_, this_.broker as broker0_0_, this_.potential
    as potential0_0_, this_.quote as quote0_0_, this_.symbol as symbol0_0_,
    this_.timeQuote as timeQuote0_0_ from history this_ order by this_.id desc limit ? [90031-169]

全部以管理员权限运行

【问题讨论】:

  • 你的问题是......?

标签: java windows permissions administrator


【解决方案1】:

错误是java.io.IOException: Access denied

这与 Hibernate 和 H2 无关。由于某种原因,不允许 Java 进程创建/修改文件。可能的原因:

  1. 父文件夹不存在
  2. 您不能在该文件夹中创建/读取/修改文件。与 Unix 不同,Administrator 不能在 Windows 上完成所有操作。如果文件夹不属于您,您必须先接管该文件夹。在这种情况下,该文件夹可能属于用户name,如果他不允许访问Administrator,则会出现错误。
  3. 文件名包含非法字符。你的情况不太可能。
  4. 有一个目录C:/Users/name/Documents/NetBeansProjects/project/base.0b6276e133678305.1105.temp.db

【讨论】:

  • 可能C:/Users/name/Documents/NetBeansProjects/project/base.0b6276e133678305.1105.temp.db 是一个目录。
  • 尝试通过调用new FileOutputStream("C:/Users/name/Documents/NetBeansProjects/project/test.txt") 在该文件夹中创建一个文件。这行得通吗?
  • 如何创建文件名?
  • 从某种意义上说?数据库本身创建它们
  • 什么样的查询会创建这些文件?您是否检查了文档是否可以移动创建文件的路径?您是否尝试在 `C:\bugtest` 中创建数据库只是为了查看错误是否消失?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-08-10
  • 2021-03-06
  • 2011-05-15
  • 2010-09-06
  • 2014-03-22
  • 2013-08-10
  • 2018-04-20
相关资源
最近更新 更多