赞
踩
最近在工作中使用遇到了奇葩的需求,需要把Access的数据导入到mysql的数据库,而且两个数据库的表结构还是不一样的。最初的方案是把Access的数据库导出到文本文件,之后用java解析生成sql插入至Mysql数据库。但是他们数据结构复杂,无法实现。最后只能通过连联access数据库时行处理.
这里主要是通过UCanAccess连实现连接数据,下载地址:https://sourceforge.net/projects/ucanaccess/ ,目前新版为4.0.4。下载后,ucanaccess-4.0.4.jar 及把lib目录下的jar包拷到项目中
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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。