我已经正确添加了所有必要的 JARS:
- Ucanaccess 3.0.4
- commons-lang-2.6
- 公共日志记录-1.1.1
- 数据库
- jackcess-2.1.3
我的数据库是 100MB。仅使用 Jacksess 时,相同的查询需要 4-5 秒,而这一查询大约需要 1-2 分钟。我做了一些研究,发现 Ucanaccess 镜像了整个数据库。我怎样才能禁用它?还是有必要?
我也尝试了参数(内存、singleConnection、skipIndexes),但它没有改变任何东西。
我必须使用 UcanAccess,因为我想使用 JasperReports。为此,我需要一个有效的连接。
我的代码:
try {
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
String connectionURL = "jdbc:ucanaccess://P:/myDatabase.accdb";
Connection conn = DriverManager.getConnection(connectionURL, "", "");
Statement stmt = conn.createStatement();
String query =
"Select * from REQ_ACQ_ACQUISITIONS";
ResultSet rs = stmt.executeQuery(query);
while ( rs.next() ) {
int numColumns = rs.getMetaData().getColumnCount();
for ( int i = 1 ; i <= numColumns ; i++ ) {
if (i > 1) System.out.print(", ");
String columnValue = rs.getString(i);
System.out.print(columnValue + " " + rs.getMetaData().getColumnName(i));
}
System.out.println("");
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}