Access数据库连接错误解决办法

Access数据库连接错误解决办法

64位windows系统连接Access数据库,程序中可能需要修改Access数据库连接:

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”

修改后仍报错则进入“控制面板”-》“管理工具”-》“数据源(ODBC)”查看系统是否存在Access驱动

Access数据库连接错误解决办法

若不存在则需要安装Microsoft Access驱动程序:

官方: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();               // 读取第一个表的内容               rs = stmt.executeQuery("select * from " + tableName);               ResultSetMetaData data = rs.getMetaData();               while (rs.next()) {                   for (int i = 1; i <p>python学习网,大量的免费<a href="https://www.php.cn/topic/access/" target="_blank">access数据库教程</a>,欢迎在线学习!</p>

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享