我有H2 db,其别名为
CREATE ALIAS TO_TIMESTAMP as '
import java.text.*;
import java.sql.Timestamp;
import java.util.Date;
@CODE
Timestamp to_timestamp(String dateText, String oraclePattern) throws Exception {
String javaDatePattern = null;
if (oraclePattern.equals("fmMMfm/fmDDfm/YYYY fmHH12fm:MI:SS.FF AM")) {
javaDatePattern = "MM/dd/yyyy";
}
if (javaDatePattern==null) {
throw new RuntimeException("Unhandled oracle date pattern");
}
SimpleDateFormat sdf = new SimpleDateFormat(javaDatePattern);
Date date= sdf.parse(dateText);
return new Timestamp(date.getTime());
}
';
但是,当我运行使用此别名的junit测试时,我不断收到错误
; nested exception is org.h2.jdbc.JdbcSQLException: IO Exception:
"java.io.FileNotFoundException: /var/tmp/org/h2/dynamic/TO_TIMESTAMP.java
(Permission denied)"; "/var/tmp/org/h2/dynamic/TO_TIMESTAMP.java";
单独使用eclipse工作正常,但是当我在unix上运行它时失败了。 我想知道如何阻止h2在该目录中的unix中创建tmp文件(生成的java)或者在没有上述错误的情况下进行编译?