在dbunit for DB2中转义保留关键字

时间:2013-07-18 15:39:39

标签: java sql db2 keyword dbunit

尝试在内存中的DB2数据库上运行insert语句时,DBUnit会抛出异常:

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

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

2 个答案:

答案 0 :(得分:4)

发现dbunit的默认转义模式是空字符串,因此dbunit识别出保留关键字并尝试使用空字符串转义它。为了改变这种情况,我使用以下内容来更改保留关键字的转义模式,现在它正在运行:

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

答案 1 :(得分:1)

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

DatabaseConfig config = connection.getConfig();
config.setProperty(DatabaseConfig.PROPERTY_ESCAPE_PATTERN, "[HOUR]");