[neo4j:2.1.3,Windows 7 64位,Java 7]
我希望能够使用neo4j shell连接到Java中的嵌入式neo4j数据库。如此处建议的那样,添加属性remote_shell_enabled =“ true”应该可以做到这一点。
我按建议尝试了,但是我的shell无法连接到数据库,并显示错误
由以下原因引起:org.neo4j.kernel.StoreLockException:无法获取商店锁定文件:〜\ store_lock的锁定。请确保没有其他进程正在使用此数据库,并且该目录可写(甚至对于只读访问也是必需的)
在org.neo4j.kernel.StoreLocker.checkLock(StoreLocker.java:82)
我在代码中按如下所示设置属性
graphDb = new GraphDatabaseFactory().newEmbeddedDatabaseBuilder(DBPATH).setConfig("remote_shell_enabled","true").newGraphDatabase();
同样,这样做还会导致数据库无法通过关闭挂钩来关闭。取而代之的是,该过程并没有结束,看来关闭钩子从未执行过。
但是,如果我使用以下方法启动属性,则每次都成功执行关闭挂钩。
graphDb = new GraphDatabaseFactory().newEmbeddedDatabase(DBPATH);
或者
graphDb = new GraphDatabaseFactory().newEmbeddedDatabaseBuilder(DBPATH).newGraphDatabase();
是否有其他方法可以使外壳程序访问嵌入式数据库。
为了在例如端口5000上打开neo4j-shell服务器,请使用类似以下的命令启动数据库
new GraphDatabaseFactory().newEmbeddedDatabaseBuilder(DB_DIR)
.setConfig(ShellSettings.remote_shell_enabled, "true")
.setConfig(ShellSettings.remote_shell_port, "5000")
.newGraphDatabase();
并使用它连接
neo4j-shell -port 5000
那样有用吗?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句