2012-06-08 79 views
0

我有一個DataImportHandler用於從SQL數據庫導入數據。根實體Foo有很多Bar s。 Bar表使用Foo.Name作爲其外鍵。一些Foo名稱在其中有單引號 - 例如STW's如何在Solr DataImportHandler中的變量中轉義單引號?

Bar實體進口查詢是這樣的:

然而,當Foo.Name包含一個單引號導入失敗的Incorrect syntax near 's SQL異常。

我已經試過包裝與escapeSql(${Foo.Name})的參數,但它不會出現被稱爲 - 正在執行的SQL是where Foo_Name = 'escapeSql(STW's)'

如何正確逃生的Foo.Name以免出現問題時,它們含有單引號?

回答

1

我認爲正確的語法是:

Foo_Name = '${escapeSql(Foo.Name)}' 

因爲escapeSql是Solr的功能,而不是一個正常的SQL函數。