我使用GrapheneDB托管Neo4j实例,并使用Readify的Neo4jClient nuget库从本地运行的MVC应用程序连接到它,如下所示:
var uri = new Uri(HttpContext.Current.Server.MapPath("~/App_Data/Data.csv"));
client.Connect();
client.Cypher
.LoadCsv(uri, "user")
.Create("(u:User { Id: user[1], Name: user[2] })")
.ExecuteWithoutResults();这是抛出一个LoadExternalResourceException:
无法从URL 'file:///C:/source/blah/src/App_Data/Data.csv':配置属性加载'dbms.security.allow_csv_import_from_file_urls‘为false
在哪里以及如何配置这个参数?
其次,csv导入文件是否需要从Graphene DB实例中访问,或者这是客户端关注的问题?
发布于 2016-12-21 10:50:45
LOAD CSV子句在远程Neo4j实例上执行,该实例没有对本地文件系统的访问权。
为了从远程实例上的CSV文件中加载数据,有两个选项:
该文件需要上载到远程服务器的文件系统,配置设置dbms.security.allow_csv_import_from_file_urls应设置为true。
由于明显的安全原因,这在GrapheneDB上是不可能的。
示例:
LOAD CSV FROM file://...
解决方案:
该文件被上传到服务器或云服务,即AWS S3、Google、Dropbox或您自己的服务器。LOAD CSV与文件的URL一起使用。文件应该是可公开访问的,这样Neo4j就可以实际下载文件来处理它。
示例:
LOAD CSV FROM http://...
这将会
https://stackoverflow.com/questions/41211383
复制相似问题