的问题是现有的Oracle表(即我不能改变)和混合大小写列名,如DBUnit的失败与Oracle混合大小写列名
create table BADTAB (ID varchar(16) not null, "Name" varchar2(64),
constraint I_BADTAB_PK PRIMARY KEY(ID));
当我尝试从一个XML做DBUnit的INSERT数据集失败
Caused by: java.sql.SQLException: ORA-00904: "NAME": invalid identifier
当我用引号将列名失败
"Name"
org.dbunit.dataset.NoSuchColumnException: BADTAB."NAME" - (Non-uppercase input column: "ReadingsPres") in ColumnNameToIndexes cache map.
Note that the map's column names are NOT case sensitive.
at org.dbunit.dataset.AbstractTableMetaData.getColumnIndex(AbstractTableMetaData.java:117)
...
问题: 如何覆盖DBUnit的列元数据以使其识别小写字母名称?
我重写了哪些类,以及如何将它们注入到DBUnit测试运行中?
2014-05-07
Andre