我正在使用Neo4j 3.4.7,这是我尝试运行的简单查询:
CALL apoc.load.csv('test.csv') yield lineNo, map , list
RETURN *;
出现错误后,我在conf文件中设置了以下与apoc相关的规则:
apoc.import.file.enabled=true
apoc.import.file.use_neo4j_config=true
dbms.security.allow_csv_import_from_file_urls=true
但是我仍然遇到错误,没有任何帮助或提示吗?
答案 0 :(得分:1)
我只是在Neo4j 3.4.7桌面环境中进行相同的apoc.load.csv过程。我收到了完全相同的错误。我使用的是@shafig发布的相同配置规则。我在配置中更改了文件源以启用绝对文件路径。
apoc.import.file.use_neo4j_config=false
以完整路径重新运行该过程之后,它可以正确执行。看来使用导入目录无法正常工作。
布雷特
答案 1 :(得分:0)
此错误是由3种情况之一引起的
我猜第一个可能是问题所在。我建议您使用绝对文件路径,以使执行上下文无关紧要。 (可能是在目录中查找neo4j起始文件所在的位置或apoc jar的位置,或者上帝知道真正涉及OS行为的位置。)如果使用绝对路径,则“当前目录”并不重要从APOC的角度来看是。 (以防万一,我还要提到您正在读取的文件实际上必须与Neo4j在同一台计算机上)
如果不是,则另一个程序对该文件具有写锁定(关闭打开该文件的任何程序以释放它们可能放置的任何锁定),或者对该文件施加读取限制(联系您的系统管理员可以解决文件权限问题。我高度怀疑用户的读取权限是问题所在,但有可能)