2

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

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

我意识到“HOUR”是 DB2 中的保留关键字,但我不确定如何让 dbunit 转义这个保留关键字。

4

2 回答 2

4

发现 dbunit 的默认转义模式是空字符串,于是 dbunit 识别了保留关键字并尝试用空字符串对其进行转义。为了改变这一点,我使用以下方法来更改保留关键字的转义模式,现在它正在工作:

dbunitConn.getConfig().setProperty(DatabaseConfig.PROPERTY_ESCAPE_PATTERN, "\"?\"");
于 2013-07-19T12:34:15.223 回答
1

您可以尝试在数据库配置上使用属性:

DatabaseConfig config = connection.getConfig();
config.setProperty(DatabaseConfig.PROPERTY_ESCAPE_PATTERN, "[HOUR]");
于 2013-07-18T15:45:21.523 回答