2012-06-08 3 views
0

У меня есть DataImportHandler для импорта данных из базы данных SQL. Корневой объект Foo имеет множество Bar s. В таблице Bar используется Foo.Name в качестве внешнего ключа. Некоторые имена Foo имеют одинарные кавычки в них - например, STW's.Как избежать одиночных кавычек в переменных в Solr DataImportHandler?

Импорт запроса для Bar сущности является чем-то вроде:

Однако, когда Foo.Name содержит апостроф импорт терпит неудачу с SQL исключением Incorrect syntax near 's.

Я попытался оборачивать параметр с escapeSql(${Foo.Name}) но не по всей видимости, называется - SQL выполняется это where Foo_Name = 'escapeSql(STW's)'

Как правильно избежать Foo.Name, чтобы избежать проблем, когда они содержат одиночные кавычки ?

ответ

1

Я думаю, что правильный синтаксис:

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

поскольку escapeSql является функцией Solr, а не нормальная функция SQL.

Смежные вопросы