JOOQ With Oracle: ORA-00911: 无效字符
JOOQ With Oracle: ORA-00911: invalid character
我正在使用 JOOQ 和 Oracle 19。在 运行 一个简单查询中,它在下面给出了无效字符。也不知道为什么要创建引号 '。 Java 和堆栈跟踪 SQL 下面。如何针对简单查询修复此问题?它编译得很好但是它 运行 产生错误。
Java:
Result<Record1<BigInteger>> test = create.select(PRODUCT.PRODUCT_ID)
.from(PRODUCT)
.where(PRODUCT.STATUS.eq("submitted")).fetch();
控制台日志
SQL [select `HEALTHCARE`.`PRODUCT`.`PRODUCT_ID` from `HEALTHCARE`.`PRODUCT` where `HEALTHCARE`.`PRODUCT`.`STATUS` = ?
-- SQL rendered with a free trial version of jOOQ 3.15.2]; ORA-00911: invalid character
我将 SQL 查询复制到 Oracle SQL Execution Runner 中,删除了引号并且它起作用了。所以不确定是什么问题。
更新:
对于 Oracle 19,我应该使用 Oracle 还是 Oracle 18C?
您似乎在使用 SQLDialect.MYSQL
方言,而不是 SQLDialect.ORACLE
方言,这解释了 SQL 字符串中的反引号。
我正在使用 JOOQ 和 Oracle 19。在 运行 一个简单查询中,它在下面给出了无效字符。也不知道为什么要创建引号 '。 Java 和堆栈跟踪 SQL 下面。如何针对简单查询修复此问题?它编译得很好但是它 运行 产生错误。
Java:
Result<Record1<BigInteger>> test = create.select(PRODUCT.PRODUCT_ID)
.from(PRODUCT)
.where(PRODUCT.STATUS.eq("submitted")).fetch();
控制台日志
SQL [select `HEALTHCARE`.`PRODUCT`.`PRODUCT_ID` from `HEALTHCARE`.`PRODUCT` where `HEALTHCARE`.`PRODUCT`.`STATUS` = ?
-- SQL rendered with a free trial version of jOOQ 3.15.2]; ORA-00911: invalid character
我将 SQL 查询复制到 Oracle SQL Execution Runner 中,删除了引号并且它起作用了。所以不确定是什么问题。
更新:
对于 Oracle 19,我应该使用 Oracle 还是 Oracle 18C?
您似乎在使用 SQLDialect.MYSQL
方言,而不是 SQLDialect.ORACLE
方言,这解释了 SQL 字符串中的反引号。