Access數(shù)據(jù)庫連接錯誤解決辦法
64位Windows系統(tǒng)連接Access數(shù)據(jù)庫,程序中可能需要修改Access數(shù)據(jù)庫連接:
32位:String strUrl = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=c://demo.mdb"
64位:String strUrl = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=c://demo.mdb"
修改后仍報(bào)錯則進(jìn)入“控制面板”-》“管理工具”-》“數(shù)據(jù)源(ODBC)”查看系統(tǒng)是否存在Access驅(qū)動
若不存在則需要安裝Microsoft Access驅(qū)動程序:
官方:

http://www.microsoft.com/zh-cn/download/confirmation.aspx?id=13255
32位:
http://download.microsoft.com/download/E/4/2/E4220252-5FAE-4F0A-B1B9-0B48B5FBCCF9/
AccessDatabaseEngine.exe
64位:
http://download.microsoft.com/download/E/4/2/E4220252-5FAE-4F0A-B1B9-0B48B5FBCCF9/
AccessDatabaseEngine_X64.exe
下面是連接access的.mdb文件,解析代碼:
package test;
import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.util.Properties;
public class Test {
/**
* TODO : 讀取文件access
*
* @param filePath
* @return
* @throws ClassNotFoundException
*/
public static void readFileACCESS(File mdbFile) {
Properties prop = new Properties();
prop.put("charSet", "gb2312"); // 這里是解決中文亂碼
prop.put("user", "");
prop.put("password", "");
//String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=" + mdbFile.
getAbsolutePath();
String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ="+ mdbFile.
getAbsolutePath();
Statement stmt = null;
ResultSet rs = null;
String tableName = null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// 連接到mdb文件
Connection conn = DriverManager.getConnection(url, prop);
ResultSet tables = conn.getMetaData().getTables(
mdbFile.getAbsolutePath(), null, null,
new String[] { "TABLE" });
// 獲取第一個表名
if (tables.next()) {
tableName = tables.getString(3);// getXXX can only be used once
} else {
return;
}
stmt = (Statement) conn.createStatement();
// 讀取第一個表的內(nèi)容
rs = stmt.executeQuery("select * from " + tableName);
ResultSetMetaData data = rs.getMetaData();
while (rs.next()) {
for (int i = 1; i <= data.getcolumncount="">
System.out.print(rs.getString(i) + " ");
}
System.out.println();
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
readFileACCESS(new File("C:UsersNinemaxDesktop西太區(qū)醫(yī)學(xué)索引.mdb"));
}
}
python學(xué)習(xí)網(wǎng),大量的免費(fèi)access數(shù)據(jù)庫教程,歡迎在線學(xué)習(xí)!
以上就是Access數(shù)據(jù)庫連接錯誤解決辦法的詳細(xì)內(nèi)容,更多請關(guān)注其它相關(guān)文章!
下一篇:asa數(shù)據(jù)庫連接報(bào)connection failed錯誤