启动Neo4j失败:组件已成功初始化,但无法启动

时间:2016-06-04 09:38:38

标签: java neo4j

我在复数视频上接受了Neo4J的教程,我必须使用drwho(医生)样本数据库。我正在使用Neo4j社区版3.0.1版。但样本数据库(drwho)是由旧版本制作的,我必须将 dbms.allow_format_migration 属性设置为“true”。这样做之后,当我尝试启动服务器时,它会加剧此错误

Starting Neo4j failed: Component 'org.neo4j.server.database.LifecycleManagingDatabase@673b0b17' was successfully initialized, but failed to start. Please see attached cause exception.

当我查看在C:\ Users \ UserName \ AppData \ Roaming \ Neo4j Community Edition \ logs \ neo4j.log

中找到的neo4j日志时

这是我发现的

Error saving DB location
java.nio.file.AccessDeniedException: .dblocation
2016-06-04 09:19:03.259+0000 INFO  [o.n.s.d.LifecycleManagingDatabase] Starting...
2016-06-04 09:19:04.292+0000 INFO  [o.n.b.v.r.Sessions] Bolt enabled on localhost:7687.
2016-06-04 09:19:04.493+0000 INFO  [o.n.k.i.s.p.StoreMigrator] Starting upgrade of database

我该怎么做才能解决这个错误?

2 个答案:

答案 0 :(得分:2)

上述解决方案确实解决了我的问题,但它又出现了不同的原因。由于旧的neo4j服务仍然在我的机器上运行。 如果您在Windows上,请查看在本地服务上运行的neo4j服务,并查看该服务的源目录。如果它与您遇到问题的那个不匹配,请禁用该服务并再次检查。

答案 1 :(得分:1)

表示它是

  

日期数据类型。格式为yyyy-MM-dd。

所以,而不是你的......

java.sql.Date retrieved = (java.sql.Date) rs.getObject("born");
return retrieved.toLocalDate();

......我刚刚用过......

return LocalDate.parse(rs.getString("born"));

...我的代码已生成

Inserted:  2015-05-20
Retrieved: 2015-05-20
Retrieved: 2015-05-20
Retrieved: 2015-05-20