DB Unit无法选择MsSQL NVARCHAR数据类型

时间:2014-09-05 13:34:33

标签: dbunit

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

这是我的代码;

    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 个答案:

答案 0 :(得分:1)

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

找到的