【问题标题】:How do I escape single quotes in variables in a Solr DataImportHandler?如何在 Solr DataImportHandler 中转义变量中的单引号?
【发布时间】:2012-06-08 19:54:13
【问题描述】:

我有一个用于从 SQL 数据库导入数据的 DataImportHandler。根实体Foo 有许多Bars。 Bar 表使用Foo.Name 作为其外键。某些 Foo 名称中包含单引号,例如 STW's

Bar 实体的导入查询类似于:

select name from Bar where Foo_Name = ${Foo.Name} 

但是,当 Foo.Name 包含单引号时,导入会失败并出现 SQL 异常 Incorrect syntax near 's

我尝试用escapeSql(${Foo.Name}) 包装参数,但它似乎没有被调用——正在执行的sql 是where Foo_Name = 'escapeSql(STW's)'

如何正确转义 Foo.Name 以避免它们包含单引号时出现问题?

【问题讨论】:

    标签: solr dataimporthandler


    【解决方案1】:

    我认为正确的语法是:

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

    因为escapeSql 是一个solr 函数,而不是一个普通的sql 函数。

    【讨论】:

      猜你喜欢
      • 2022-01-20
      • 1970-01-01
      • 1970-01-01
      • 2020-01-31
      • 1970-01-01
      • 1970-01-01
      • 2019-12-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多