Java/kotlin如何連線access資料庫
阿新 • • 發佈:2018-12-14
Java/kotlin如何連線access資料庫
最近在工作中使用遇到了奇葩的需求,需要把Access的資料匯入到mysql的資料庫,而且兩個資料庫的表結構還是不一樣的。最初的方案是把Access的資料庫匯出到文字檔案,之後用java解析生成sql插入至Mysql資料庫。但是他們資料結構複雜,無法實現。最後只能通過連聯access資料庫時行處理.
需要準備的資源
這裡主要是通過UCanAccess連實現連線資料,下載地址:https://sourceforge.net/projects/ucanaccess/ ,目前新版為4.0.4。下載後,ucanaccess-4.0.4.jar 及把lib目錄下的jar包拷到專案中
以下是程式碼參考(kotlin)
java可以適當修改
//有密碼
// val msAccDB = "C:\\Users\\LiuPeng\\Desktop\\1.accdb;password=123456"
val msAccDB = "C:\\Users\\LiuPeng\\Desktop\\1.accdb;"
val dbURL = "jdbc:ucanaccess://" + msAccDB
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver")
var connection = DriverManager. getConnection(dbURL)
var statement = connection.createStatement()
var resultSet = statement.executeQuery("select * from testTable")
while (resultSet.next()) {
//通過列位置取值,序列從1開始
var id = resultSet.getString(1)
var name = resultSet.getString(2)
//通過列欄位名稱取值
var age = resultSet.getString("age")
var datetime = resultSet.getDate("datetime")
System.out.println("id:$id,name:$name,age:$age,datetime:$datetime")
}
statement.closeOnCompletion()
connection.close()
日誌輸出
id:1,name:張三,age:19,datetime:2018-12-14
id:2,name:李四,age:22,datetime:2018-12-07