2016-04-28 18 views
0

我想执行多个分号分隔的Cypher语句在SQL工作台/ J以同样的方式,我可以运行使用CTRL多个选定的SQL语句+ E快捷键。Neo4j的JDBC驱动程序错误在SQL工作台“setEscapeProcessing不Neo4jStatement支持”/J

这里是一个小例子(从电影数据集中修改):“setEscapeProcessing不Neo4jStatement支持”

CREATE (TheMatrix:Movie {title:'The Matrix', released:1999, tagline:'Welcome to the Real World'}); 
CREATE (Keanu:Person {name:'Keanu Reeves', born:1964}); 
CREATE (Carrie:Person {name:'Carrie-Anne Moss', born:1967}); 
CREATE (Laurence:Person {name:'Laurence Fishburne', born:1961}); 
CREATE (Hugo:Person {name:'Hugo Weaving', born:1960}); 
CREATE (AndyW:Person {name:'Andy Wachowski', born:1967}); 
CREATE (LanaW:Person {name:'Lana Wachowski', born:1965}); 
CREATE (JoelS:Person {name:'Joel Silver', born:1952}); 
CREATE 
    (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrix), 
    (Carrie)-[:ACTED_IN {roles:['Trinity']}]->(TheMatrix), 
    (Laurence)-[:ACTED_IN {roles:['Morpheus']}]->(TheMatrix), 
    (Hugo)-[:ACTED_IN {roles:['Agent Smith']}]->(TheMatrix), 
    (AndyW)-[:DIRECTED]->(TheMatrix), 
    (LanaW)-[:DIRECTED]->(TheMatrix), 
    (JoelS)-[:PRODUCED]->(TheMatrix); 

我得到错误 如何解决这个问题?

我使用Neo4j JDBC driver version 2.3.2.

这些运行我的本地Neo4j的实例是我connection settings

我使用Ubuntu 14.04 LTS和Java 1.8.0_72-b15的,SQL工作台/ J建立119(2016年1月31日)

+1

鉴于JDBC规范和API文档,不支持转义处理在技术上是不允许的,并抛出一个SQLException对于不允许或者(_“SQLException - 如果发生数据库访问错误,或者调用此方法在封闭声明”_)。我不确定是否有办法不让SQL Workbench/J调用此方法。考虑切换到其他工具,或者使用Neo4J提交错误信息,而不是抛出异常,他们可能会默默地忽略对' setEscapeProcessing'并在语句上注册一个警告。 –

+0

https://groups.google.com/d/msg/sql-workbench/YztqtDxmiBc/LJ06_88ITBEJ –

+0

@a_horse_with_no_name感谢,设置WbSetConfig workbench.db [DBID] .ddl.disable.escapeprocessing =假。作品,我会接受这个答案,如果你发布它! –

回答

0

这个问题已经在SQL Workbench/J forum

回答

是的,您可以将属性workbench.db.[dbid].ddl.disable.escapeprocessing设置为false,例如通过使用下面的SQL语句

WbSetConfig workbench.db.[dbid].ddl.disable.escapeprocessing=false;

你需要使用为配置单元产生的DBID替换[DBID。有关DBID详情请看这里:

http://www.sql-workbench.net/manual/settings.html#dbid

显然,在这种情况下的Neo4j的DBID必须使用,而不是为蜂巢(如在论坛上回答说,因为这个问题是最初为蜂巢)

相关问题