2014-09-05 58 views
1

DBUnit可以选择除NVARCHAR类型以外的MsSQL数据库表的所有列。 当我选择NVARHCAR类型列的值时,它会抛出: org.dbunit.dataset.NoSuchColumnException: <table name>.<column name>DB单元无法选择MsSQL NVARCHAR数据类型

这是我的代码;

protected IDatabaseConnection getConnection() throws Exception { 
     Class driverClass = Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
     Connection jdbcConnection = DriverManager.getConnection("jdbc:sqlserver://localhost;databaseName=<dbName>;selectMethod=cursor", "sa", "sa"); 
     return new DatabaseConnection(jdbcConnection); 
    } 

    public void test() { 
     IDataSet databaseDataSet = getConnection().createDataSet(); 
     ITable actualTable = databaseDataSet.getTable("Table"); 
     actualTable.getValue(0, "Description"); // throws exception here. 'Description' is NVARCHAR 
    } 

回答

1

当我使用JNetDirect JSQLConnect驱动程序而不是Microsoft JDBC驱动程序时,它识别NVARCHAR。 但对于只有1个数据库连接的单个用户是免费的。 我发现它从here