And*_*ose 2 java sql db2 dbunit keyword
尝试在内存 DB2 数据库上运行插入语句时,DBUnit 抛出异常:
org.dbunit.dataset.DataSetException: java.sql.SQLSyntaxErrorException: Syntax error: Encountered "HOUR" at line 1, column 45.
Run Code Online (Sandbox Code Playgroud)
我意识到“HOUR”是 DB2 中的保留关键字,但我不确定如何让 dbunit 转义这个保留关键字。
发现dbunit的默认转义模式是空字符串,因此dbunit识别出保留关键字并尝试用空字符串对其进行转义。为了改变这一点,我使用以下命令来更改保留关键字的转义模式,现在它可以工作了:
dbunitConn.getConfig().setProperty(DatabaseConfig.PROPERTY_ESCAPE_PATTERN, "\"?\"");
Run Code Online (Sandbox Code Playgroud)