DBFlute -- OracleでTable名が日本語だとSQLExceptionを直す。


原因がさっぱりだが...
・Table名が日本語だと発生。
・DatabaseMetaDataのgetIndexInfo()で発生(PKとかFKとかは平気)。

なんか以下のCheckMethodが怪しい。日本語のObjectNameを許さない仕様のようだ。

public void test_OracleSql_isValidObjectName() {
try {
Assert.assertTrue("aaa should be true!", OracleSql.isValidObjectName("aaa"));
Assert.assertFalse("あああ should be true! But I want it to be true...", OracleSql.isValidObjectName("あああ"));
} catch (SQLException e) {
Assert.fail(e.getMessage());
}
}

とにかくDBFluteでは、UniqueKeyの取得でSQLExceptionの場合は
警告だけ出力して続行させるようにします。(PKとFKは正常なので)