在Script.execute()之后h2关闭连接

时间:2013-06-04 14:34:49

标签: java h2

我有一个h2数据库,我想生成sql脚本,然后重命名这个数据库。

我做那样的事情

        Script.execute("jdbc:h2:" + directory + File.separatorChar + dbName, user, password, file);
Date d = new Date();
        Timestamp t = new Timestamp(d.getTime());
        File oldfile = new File(directory + File.separatorChar + dbName + ".h2.db");
        File newfile = new File(directory + File.separatorChar + t.getTime() + "backup.h2.db");
       oldfile.renameTo(newfile)

但重命名失败了!我认为这是因为脚本打开我的数据库,但我怎么能关闭它并重命名我的文件? 感谢的

解决方案: 我只是在Script命令之后添加,谢谢你的帮助

Connection conn = DriverManager.getConnection("jdbc:h2:" + directory + File.separatorChar + dbName, user, password);
        conn.prepareStatement("SHUTDOWN DEFRAG;").execute();
        conn.close();

0 个答案:

没有答案