You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Matlab中创建新的Microsoft Access *.accdb数据库文件?

创建新的*.accdb文件的可行方案

我之前也碰到过类似的问题——JDBC-ODBC桥驱动本身不支持直接创建Access数据库文件,得换些思路来实现。结合你用Matlab的场景,给你两个实用的方法:

方法一:利用Access的COM组件(Windows专属)

如果你的机器是Windows系统且安装了Microsoft Access/Office套件,可以直接通过Matlab调用Access的ActiveX对象来创建空白数据库,步骤很简单:

% 定义新数据库的保存路径(注意用双反斜杠或者正斜杠)
new_accdb_path = 'C:\\path\\to\\new\\my_database.accdb';

% 创建Access应用实例
access_app = actxserver('Access.Application');
% 创建空白的accdb数据库
access_app.NewCurrentDatabase(new_accdb_path);
% 关闭Access并释放资源
access_app.Quit;
delete(access_app);

这个方法的优势是直接用Access原生功能生成数据库,兼容性最好,但依赖Office环境,只能在Windows上用。

方法二:用UCanAccess驱动(跨平台,无需Access)

如果需要跨平台(比如Mac/Linux)或者不想依赖Office,可以用纯Java的UCanAccess驱动——它不仅能连接accdb,还支持创建新数据库。

首先你需要把UCanAccess的相关Jar包(ucanaccess.jar、hsqldb.jar、jackcess.jar、commons-lang.jar、commons-logging.jar)添加到Matlab的Java类路径里(可以通过javaaddpath('path/to/jars')命令添加)。然后用以下代码创建数据库:

% 新数据库路径
new_accdb_path = 'C:\\path\\to\\new\\my_database.accdb';

% 构建UCanAccess的JDBC URL,指定创建accdb格式(V2010对应accdb)
jdbc_url = ['jdbc:ucanaccess://', new_accdb_path, ';newdatabaseversion=V2010'];

% 加载驱动并创建连接(连接时自动生成空白数据库)
java.lang.Class.forName('net.ucanaccess.jdbc.UcanaccessDriver');
conn = java.sql.DriverManager.getConnection(jdbc_url, '', '');

% 可选:创建表等操作示例
stmt = conn.createStatement();
stmt.executeUpdate('CREATE TABLE Products (ProductID INT PRIMARY KEY, ProductName VARCHAR(100))');
stmt.close();

% 关闭连接
conn.close();

这个方法完全不依赖Access客户端,跨平台通用,适合没有Office环境的场景。

补充说明

如果你坚持想用原来的JDBC-ODBC桥,那只能先通过上面两种方法创建好空白accdb文件,再用你原来的代码去连接——JDBC-ODBC本身没有创建数据库的能力,必须借助外部工具或API来完成创建步骤。

内容的提问来源于stack exchange,提问作者user36800

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:16:22