【问题标题】:Cannot dump database in Neo4j Desktop on Windows无法在 Windows 上的 Neo4j Desktop 中转储数据库
【发布时间】:2022-01-07 01:57:47
【问题描述】:

我无法在 Windows 10 上从 Neo4j Desktop 转储数据库。我使用的是 OpenJDK 11、Neo4j Desktop v1.4.11,数据库版本为 v4.4.2。

从我在其他帖子中看到的情况来看,这在 Linux/Mac 上运行良好,但在 Windows 上却不行。另外,由于这是使用 Neo4j 桌面界面,我无法控制路径名。

我在桌面日志文件中得到的错误是:

[error] Selecting JVM - Version:11.0.8+10-LTS, Name:OpenJDK 64-Bit Server VM, Vendor:Azul Systems, Inc.
java.nio.file.InvalidPathException: Illegal char <:> at index 143: C:\Users\Glen Rutherford\AppData\Local\Neo4j\Relate\Data\projects\project-808d9e7f-36da-4a8e-a49e-7036d2129eb2\dev-strategy-neo4j-7-Jan-2022-12:29:54.dump
    at java.base/sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182)
    at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153)
    at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
    at java.base/sun.nio.fs.WindowsPath.parse(WindowsPath.java:92)
    at java.base/sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:229)
    at java.base/java.nio.file.Path.of(Path.java:147)
    at org.neo4j.commandline.dbms.DumpCommand.openDumpStream(DumpCommand.java:142)
    at org.neo4j.commandline.dbms.DumpCommand.dump(DumpCommand.java:154)
    at org.neo4j.commandline.dbms.DumpCommand.execute(DumpCommand.java:115)
    at org.neo4j.cli.AbstractCommand.call(AbstractCommand.java:71)
    at org.neo4j.cli.AbstractCommand.call(AbstractCommand.java:34)
    at picocli.CommandLine.executeUserObject(CommandLine.java:1953)
    at picocli.CommandLine.access$1300(CommandLine.java:145)
    at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2352)
    at picocli.CommandLine$RunLast.handle(CommandLine.java:2346)
    at picocli.CommandLine$RunLast.handle(CommandLine.java:2311)
    at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
    at picocli.CommandLine.execute(CommandLine.java:2078)
    at org.neo4j.cli.AdminTool.execute(AdminTool.java:93)
    at org.neo4j.cli.AdminTool.main(AdminTool.java:79)

【问题讨论】:

  • 不知道为什么这被标记了。我已经完成了研究,我在 Stackoverflow 上阅读了与此类似的帖子,但都没有解决这个特定问题,即 Windows 上的 Neo4j 桌面。我还通读了 Neo4j 文档。在我看来,这个问题是 Windows 上 Neo4j Desktop 中的一个错误,因为 Windows 路径始终包含一个冒号,并且异常指出冒号是非法字符。
  • 您使用什么命令来创建转储?您是否尝试通过简单地转储到当前文件夹来保持简单?
  • 嗨@Richard,我正在使用 Neo4j Desktop 中的 UI,它不会提示输入位置。所以错误是由 Neo4j Desktop 本身产生的。我已经尝试过命令行方法,但它似乎也与 Windows 不兼容,因为我收到此错误:NT AUTHORITY\SYSTEM, should be none for all except owner 关于 Java ACL
  • 我以前没有使用 UI 制作 Neo4J 转储。事实上我还没有看到一个选项——我也在使用 1.4.11,但我的大多数数据库都是 4.0 之前的。我使用终端并输入命令没有问题。我创建了一个 4.4.2 数据库来确认终端选项仍然有效。
  • 在我停止运行的 V3 后找到 V4 数据库的转储选项。如果我尝试从 UI 转储,我会得到同样的错误。

标签: neo4j neo4j-desktop


【解决方案1】:

在 Windows 中打开命令提示符并转到本地 neo4j 数据库目录。然后运行以下命令:

.\bin\neo4j-admin.bat dump --database=graph.db --to=c:\tmp\graph.dump

【讨论】:

  • 嗨@jose_bacoy,我已经试过了(见上面的评论):I have tried the command line approach but it also seems incompatible with Windows as I get this error: NT AUTHORITY\SYSTEM, should be none for all except owner in respect to Java ACL。我真的希望来自 Neo4j 的人能接受这个,因为 Stack Overflow 是他们的官方支持论坛。由于 Neo4j 是一个 Linux 原生系统,我确信这一切都适用于 Linux。但我很清楚,这在 Windows 上不起作用:Neo4j Desktop 的 UI 和 CLI。
  • #neo4j 中是否有人看到过这个问题?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多