如何将SQL客户端连接至MS Access数据库以执行查询?
如何用SQuirreL SQL等JDBC客户端连接MS Access数据库查询.accdb文件
完全可以用SQuirreL SQL这类Java SQL客户端通过JDBC连接Access的.accdb文件,完美适配复杂SQL查询场景,下面是具体实现步骤:
1. 准备JDBC驱动
Java连接Access不需要依赖系统ODBC,推荐使用UCanAccess——纯Java实现的Access JDBC驱动,支持.accdb和.mdb格式。
你需要准备以下核心jar包(UCanAccess官方会打包好这些依赖):
- ucanaccess-x.x.x.jar
- jackcess-x.x.x.jar
- commons-lang3-x.x.x.jar
- commons-logging-x.x.x.jar
- hsqldb-x.x.x.jar
2. 在SQuirreL中配置驱动
打开SQuirreL SQL客户端:
- 切换到「Drivers」标签页,点击「New Driver」
- 填写驱动名称:比如「MS Access (UCanAccess)」
- 在「Example URL」里输入示例路径:
jdbc:ucanaccess://C:/path/to/your/database.accdb - 在「Class Name」里输入驱动类:
net.ucanaccess.jdbc.UcanaccessDriver - 点击「Add」按钮,把之前准备的所有jar包添加进来
- 点击「OK」保存驱动配置
3. 创建并测试连接
- 切换到「Aliases」标签页,点击「New Alias」
- 填写别名:比如「My Access DB」
- 在「Driver」下拉框中选择刚才创建的「MS Access (UCanAccess)」
- 在「URL」里修改为你的.accdb文件绝对路径,格式:
jdbc:ucanaccess://[本地文件路径],例如jdbc:ucanaccess://D:/Projects/data/orders.accdb - 若Access数据库设置了用户名和密码,填写对应信息;无密码则留空
- 点击「Test」按钮,弹出连接成功提示即配置完成
4. 使用SQuirreL执行复杂SQL
连接成功后,在SQuirreL的SQL编辑器中即可编写带多子查询的复杂语句:
- 编辑器支持等宽字体、语法高亮,解决Access内置窗口字体难读的问题
- 编写的SQL可保存为文件,关闭重开后格式不会丢失
- 支持查找替换、基础语法检查,操作远胜Access内置SQL窗口
注意事项
- 若Access数据库是加密的,需额外添加
jackcess-encrypt-x.x.x.jar到驱动jar包中,同时URL要加参数:jdbc:ucanaccess://C:/path/to/encrypted.accdb;encrypt=true - 尽量选择UCanAccess最新稳定版,避免兼容性问题,支持Access 2007及以后的.accdb格式
内容的提问来源于stack exchange,提问作者User1974
相关产品推荐
相关产品推荐

