2016-02-19 11 views
1

嘗試使用分號和引號更新字符串時遇到了奇怪的錯誤。例如,下面的SQL失敗,錯誤:在orientdb更新操作中轉義分號和引號

"java.lang.IllegalStateException: Missing closed string character: '"', position: 64:

UPDATE #26:185 SET description = "<div style=\"text-align: right;\">Text</div>";

然而,如果除去 ';',該SQL的工作原理:

UPDATE #26:185 SET description = "<div style=\"text-align: right\">Text</div>";

另外,如果除去逃脫了引號,但離開';',sql的作品:

UPDATE #26:185 SET description = "Text;";

這是orientdb的核心問題還是我沒有正確逃避字符串?

+0

嗨Josh,你使用的是哪個版本的OrientDB? – LucaS

+0

我們正在使用2.1.2 – Josh

+0

嗨,應該這個'

Text
'預期的輸出? – LucaS

回答

1

我試圖用OrientDB 2.1.11版本

結構你的情況:

create class MyClass extends V 
create property MyClass.description string 
create vertex MyClass set description = "Text" 

MyClass的數據集

select from MyClass 

----+-----+-------+----------- 
# |@RID |@CLASS |description 
----+-----+-------+----------- 
0 |#12:0|MyClass|Text 
----+-----+-------+----------- 

現在我更新記錄#12:0您的第一次更新查詢:

UPDATE #12:0 SET description = "<div style=\"text-align: right;\">Text</div>"; 

Updated record(s) '1' in 0,032000 sec(s). 

更新MyClass的數據集

select from MyClass 

----+-----+-------+------------------------------------------ 
# |@RID |@CLASS |description 
----+-----+-------+------------------------------------------ 
0 |#12:0|MyClass|<div style="text-align: right;">Text</div> 
----+-----+-------+------------------------------------------ 

也許這個問題已經解決了在後續版本中,你可以嘗試使用最新的穩定版本OrientDB?

+0

從2.1.1升級到2.1.11修復了這個問題。謝謝! – Josh

1

我試圖與2.1.2和我沒有你的異常

enter image description here

UPDATE #13:0 SET description = "<div style=\"text-align: right;\">Text</div>" 

enter image description here

希望它能幫助。