Maison> Les sujets> Access> le corps du texte

Solution d'erreur de connexion à la base de données Access

爱喝马黛茶的安东尼
Libérer: 2019-11-01 14:16:38
original
5169 Les gens l'ont consulté

Solution d'erreur de connexion à la base de données 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驱动

Solution derreur de connexion à la base de données 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 <= data.getColumnCount(); i++) { System.out.print(rs.getString(i) + " "); } System.out.println(); } } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { readFileACCESS(new File("C:\\Users\\Ninemax\\Desktop\\西太区医学索引.mdb")); } }
Copier après la connexion

python学习网,大量的免费access数据库教程,欢迎在线学习!

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!