尝试在内存DB2数据库上运行插入语句时,DBUnit引发异常:

org.dbunit.dataset.DataSetException: java.sql.SQLSyntaxErrorException: Syntax error: Encountered "HOUR" at line 1, column 45.


我意识到“ HOUR”是DB2中的保留关键字,但是我不确定如何使dbunit逃脱该保留关键字。

最佳答案

发现dbunit的默认转义模式是空字符串,因此dbunit识别出了reserved关键字,并尝试使用空字符串对它进行转义。要更改此设置,我使用以下命令更改了保留关键字的转义模式,现在它可以正常工作:

dbunitConn.getConfig().setProperty(DatabaseConfig.PROPERTY_ESCAPE_PATTERN, "\"?\"");

关于java - 在dbunit中为DB2转义保留的关键字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17728005/

10-10 05:39