【发布时间】:2017-10-19 12:11:24
【问题描述】:
我使用 UCanAccess 连接到临时 Access 文件以读取数据,之后我想删除这些临时文件。但是,我总是得到file.delete()=false。
这是我的代码
public class JAccess {
static Connection conn;
static Statement stat;
public static void connect(String DBFilename) {
try {used ucanaccess to connect temporary access files
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
String DataSource = "jdbc:ucanaccess://" + DBFilename;
String user = "user";
String pw = "pw";
conn = DriverManager.getConnection(DataSource, user, pw);
stat = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
} catch (Exception e) {
System.out.println(e);
}
}
public static void disconnect() {
try {
stat.close();
conn.close();
} catch (Exception e) {
System.out.println(e);
}
stat = null;
conn = null;
}
}
public void SelectTable(String DBFilename) throws SQLException {
JAccess.connect(DBFilename);
JAccess.disconnect();
}
public static void main(String[] args) throws SQLException {
.........
SelectTable(DBFilename);
File f = new File(DBFilename);
f.delete();
为什么f.delete() 失败了?
【问题讨论】:
-
尝试将
;immediatelyReleaseResources=true附加到连接 URL 的末尾。 -
Itamar,感谢您的修改。 Gord,谢谢你的回答,我会在星期一试试。
-
是的,它成功了,感谢 Gord Thompson
标签: java jdbc ucanaccess