【问题标题】:Slick 2.1.x Invalid query because of `Slick 2.1.x 由于`而导致无效查询
【发布时间】:2016-12-30 19:31:35
【问题描述】:

我正在处理用 slick 2.1 编写的遗留代码(现在无法升级)。

 val query = foo.filter(x => x.d >= input._1).filter(x => x.d < input._2)
 println(query.selectStatement)
 query.list

我可以看到这会生成查询

select x2.`a`, x2.`b`, x2.`c`, x2.`d` from `foo` x2 where (x2.`d` >= {ts '2016-07-30 00:00:00.0'}) and (x2.`d` < {ts '2016-07-30 23:23:59.0'})

当它执行时,它会给出错误java.sql.SQLSyntaxErrorException: ORA-00911: invalid character

当我将此打印的查询复制粘贴到 Oracle 查询编辑器中时,它会在那里给出相同的错误。但是,如果我删除所有 ```s 那么它可以工作。为什么 slick 2.1.x 会生成错误查询?有没有办法告诉它停止生成“`”s

【问题讨论】:

    标签: scala slick slick-2.0


    【解决方案1】:

    我找到了答案。我输入了错误的驱动程序。我已经导入 MySQLDriver 并试图针对 Oracle 执行代码。

    导入正确的 OracleDriver(通过 slick-extensions)生成正确的查询。

    【讨论】:

      猜你喜欢
      • 2021-04-04
      • 1970-01-01
      • 2019-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-21
      • 2021-08-17
      • 2015-08-23
      相关资源
      最近更新 更多