在H2中创建别名时如何避免使用tmp文件

时间:2016-08-24 14:23:02

标签: java h2

我有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)或者在没有上述错误的情况下进行编译?

0 个答案:

没有答案