2016-04-28 76 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必須使用,而不是爲蜂巢(如在論壇上回答說,因爲這個問題是最初爲蜂巢)

相關問題