方法 1:使用 ODBC 连接(推荐)
步骤 1:配置 ODBC 数据源
打开 ODBC 数据源管理器
在 Windows 中,搜索 ODBC Data Sources (32-bit)(如果 MATLAB 是 32 位)或 ODBC Data Sources (64-bit)(如果 MATLAB 是 64 位)。
进入 “用户 DSN” 或 “系统 DSN” 选项卡,点击 “添加”。
选择 Microsoft Access 驱动
选择 “Microsoft Access Driver (*.mdb, *.accdb)”,然后点击 “完成”。
配置数据源
输入 数据源名称(DSN)(例如 MyAccessDB)。
点击 “选择” 并浏览到你的 Access 数据库文件(.mdb 或 .accdb)。
点击 “确定” 保存。
步骤 2:在 MATLAB 中连接数据库
matlab
% 使用 database 函数连接
conn = database('MyAccessDB', '', '', 'sun.jdbc.odbc.JdbcOdbcDriver', 'jdbc:odbc:MyAccessDB');
% 检查连接是否成功
if isconnection(conn)
disp('连接成功!');
else
error('连接失败: %s', conn.Message);
end
'MyAccessDB' 是你在 ODBC 中配置的数据源名称。
用户名和密码留空(如果 Access 数据库未设置密码)。
方法 2:使用 JDBC 直接连接(无需 ODBC)
如果不想配置 ODBC,可以直接用 JDBC 驱动连接:
确保 MATLAB 可以访问 ucanaccess JDBC 驱动(适用于 .accdb 文件)或 Access JDBC 驱动。
下载 UCanAccess JDBC 驱动(适用于较新版本的 Access):
UCanAccess 官网
需要下载:
ucanaccess-*.jar
lib/commons-lang3-*.jar
lib/commons-logging-*.jar
lib/hsqldb-*.jar
lib/jackcess-*.jar
将 JAR 文件添加到 MATLAB 的 Java 路径:
matlab
javaaddpath('C:\path\to\ucanaccess-5.0.1.jar');
javaaddpath('C:\path\to\lib\commons-lang3-3.12.0.jar');
% 添加其他必要的 JAR 文件
使用 JDBC 连接字符串连接:
matlab
connStr = 'jdbc:ucanaccess://C:/path/to/your/database.accdb';
conn = database('', '', '', 'net.ucanaccess.jdbc.UcanaccessDriver', connStr);
执行 SQL 查询
连接成功后,可以执行 SQL 查询:
matlab
% 执行查询
data = fetch(conn, 'SELECT * FROM YourTableName');
disp(data);
% 插入数据
exec(conn, 'INSERT INTO YourTableName (Column1, Column2) VALUES (''Value1'', ''Value2'')');
% 关闭连接
close(conn);
常见问题
32 位 vs 64 位 MATLAB
确保 ODBC 驱动版本与 MATLAB 位数一致(32-bit MATLAB 用 32-bit ODBC,64-bit MATLAB 用 64-bit ODBC)。
驱动不兼容
如果使用 .accdb 文件,旧版 MATLAB 可能需要 UCanAccess 驱动。
连接失败
检查 DSN 名称是否正确。
确保数据库文件未被独占打开。
总结
推荐方法:使用 ODBC 连接(简单稳定)。
替代方法:使用 JDBC(如 UCanAccess)直接连接,适用于较新 Access 文件。