3

我正在尝试测试我的 dao 层。所以我创建了一个嵌入式数据库。在我的 junit 测试中,我正在努力加载数据:

所以我的创建脚本是:

CREATE SCHEMA test_schema AUTHORIZATION DBA;

创建表 test_schema.tableOne (....)

创建数据库后..我尝试使用加载数据

@Test
public void testFind() throws Exception {

    IDataSet dataSet = new FlatXmlDataSetBuilder().build(new File(
            "./src/test/resources/sampleData.xml"
            ));
            IDatabaseConnection dbConn = new   DatabaseDataSourceConnection(dataSource);
            DatabaseOperation.INSERT.execute(dbConn, dataSet);  


}

我的数据集文件看起来:

<?xml version="1.0" encoding="UTF-8"?>
  <dataset>
<tableOne state_id="0" previous_state_id="0" player_uid="222222" /> 
  </dataset>

在尝试执行上述操作后,我得到用户缺少权限或找不到 TABLEONE 对象...

(顺便说一句,我的数据库是使用 spring 3 嵌入式 hsql 创建的)

有任何想法吗?

4

1 回答 1

0

好的,整理好了。。

IDatabaseConnection dbConn = new DatabaseDataSourceConnection(dataSource, "TEST_SCHEMA");
dbConn.getConfig().setProperty(DatabaseConfig.FEATURE_QUALIFIED_TABLE_NAMES, true);

显然,当我创建连接时,我必须如上所述指定架构名称,但也要使用 CAPS!

然后可以按如下方式设置数据集

<test_schema.tableone..... etc
于 2012-07-19T13:57:22.960 回答