使用 Docker 部署 SQL Server 并导入 .mdb 文件的完整指南

简介: 通过 Docker 部署 SQL Server 并结合 Navicat 等工具,可以高效、灵活地处理 .mdb 文件,既避免了本地安装 Microsoft Access 的成本与限制,也便于在开发环境中进行数据迁移与转换。这种方法尤其适合需要临时或频繁处理 Access 数据的开发与运维场景,具备良好的可复现性与环境隔离性。

最近在项目中遇到一个需求,需要从 .mdb 文件中提取特定数据并导入到现有系统数据库中。当现场同事将 .mdb 文件发给我后,我首先尝试在本地打开以查看数据结构,但试了多种方法都未能成功——原生的 Microsoft Access 需要付费激活,其他各类工具也均告失败。后来在网上看到有网友建议可以将 .mdb 文件导入 SQL Server 数据库后再进行操作,于是灵机一动:部署一个 SQL Server 岂不是更直接?我便翻出之前 Docker 部署 SQL Server 的文档,结果发现相关镜像已不存在。于是,我重新查阅资料,整理了以下关于如何使用 Docker 部署 SQL Server 并导入 .mdb 文件的步骤。

❓什么是.mdb文件?

.mdb文件是Microsoft Access数据库文件,它是微软公司开发的一种专有数据库格式,主要用于其桌面关系数据库管理系统(RDBMS)——Microsoft Access。

主要用途:

  • 桌面数据库应用:适用于中小型业务的数据管理(如库存、客户信息)。

  • 原型开发:快速构建数据库应用程序原型。

  • 报表生成:创建和管理自定义报表。

  • 与其他Office集成:可与Excel、Word等无缝连接。

🐳Docker部署sql server数据库

📋创建docker-compose.yml 文件

首先创建一个部署目录sqlserver,在该目录下创建docker-compose.yml文件,内容如下:

services:
  sqlserver:
    image: mcr.microsoft.com/mssql/server:2025-latest
    container_name: mssql-server
    restart: always
    environment:
      #接受最终用户许可协议
      - ACCEPT_EULA=Y
      #SA用户密码,密码长度必须至少为8个字符,并且包含以下四组中的三组字符:大写字母、小写字母、数字和符号。
      - SA_PASSWORD=Abcd1234
    ports:
      - 1433:1433
    volumes:
      - ./mssql:/var/opt/mssql

📂创建挂载目录并授权

在docker-compose.yml同级目录下创建数据挂载目录mssql并授权

# 创建挂载目录
mkdir mssql
# 赋权限
chmod -R 777  mssql

📚启动服务

在docker-compose.yml同级目录下执行以下命令启动服务

docker-compose up -d

如果启动过程中有报权限文档的错误Access denied errno = 0xD(13) Permission denied]时,给挂载目录赋权限之后再重新启动容器即可。

🚀连接数据库

我连接数据库使用的时navicat,我记得旧版本还需要再安装目录下安装qlncli,但是新版本的navicat不用,直接连接即可.

⬆️将.mdb文件导入sql server数据库

连接到sql server 数据库之后新建数据库,再上右击导入向导,选择MS Access数据库,点击下一步,选择需要导入的表,将数据导入到sql server 中,然后按照正常的数据表就可以查看了。如果需要修改,则修改完之后再导出文件即可。

📝总结

通过 Docker 部署 SQL Server 并结合 Navicat 等工具,可以高效、灵活地处理 .mdb 文件,既避免了本地安装 Microsoft Access 的成本与限制,也便于在开发环境中进行数据迁移与转换。这种方法尤其适合需要临时或频繁处理 Access 数据的开发与运维场景,具备良好的可复现性与环境隔离性。

目录
相关文章
|
19天前
|
关系型数据库 项目管理 数据安全/隐私保护
Leantime:开源项目管理神器
Leantime是一款专为非专业项目经理设计的开源项目管理工具,在Jira的臃肿和Trello的简化之间找到了完美平衡。它集成了战略规划、敏捷看板、甘特图、知识管理、工时跟踪等全面功能,支持Docker一键部署。无论是创业团队还是企业部门,Leantime都能以极低的学习成本,让每位成员轻松参与项目协作。告别过度复杂的工具,用这款轻量而强大的神器,为你的2026年项目计划保驾护航。
135 16
 Leantime:开源项目管理神器
|
25天前
|
关系型数据库 Go API
Vikunja:开源自托管的待办事项管理平台,重新定义你的任务管理体验
Vikunja是一款开源、自托管的任务管理平台,支持多视图任务管理、团队协作与跨平台使用。基于Go与Vue开发,支持Docker部署,保障数据隐私,适合个人与团队高效管理项目。
150 7
 Vikunja:开源自托管的待办事项管理平台,重新定义你的任务管理体验
|
26天前
|
云安全 安全 Cloud Native
阿里云智能云原生应用保护平台CNAPP(原安全中心)详解:费用价格、功能优势及问题解答FAQ
阿里云全新升级智能云原生应用保护平台(CNAPP),融合CWPP、CSPM、CIEM、CTDR四大能力,提供覆盖“事前-事中-事后”的全链路安全防护。支持多云纳管、自动威胁响应与合规检查,助力企业实现安全左移、风险可视、响应自动化。
|
1月前
|
存储 缓存 安全
我们来说一下无锁队列 Disruptor 的原理
我是小假 期待与你的下一次相遇 ~
143 7
|
数据库
达梦数据库的物理备份和还原简解
达梦数据库的物理备份和还原简解
1127 1
达梦数据库的物理备份和还原简解
|
1月前
|
人工智能
复制即所得:PasteMD让Markdown粘贴Office不再有格式烦恼
PasteMD是一款高效实用的开源工具,可将剪贴板中的Markdown或网页内容一键转换为Word/WPS/Excel兼容格式,完美保留公式、表格与样式。支持AI生成内容智能粘贴,解决格式错乱难题,提升文档编辑效率,是学生与职场人士的理想助手。
403 2
复制即所得:PasteMD让Markdown粘贴Office不再有格式烦恼
|
25天前
|
人工智能 运维 API
从 Coze API 到智能体系统落地:AI 智能体运营工程师的工程实践解析
在AI 2.0时代,Coze API推动智能体从技术走向生产力。本文聚焦西南实践,解析API调用到商业落地的全流程,揭秘“智能体来了”如何通过插件集成、工作流编排培养具备运营思维的AI工程师,助力开发者转型,抢占智能体时代新机遇。
114 11
|
2月前
|
存储 JavaScript 文件存储
FlatNas:打造你的专属浏览器仪表盘,一个集优雅与实用于一身的开源导航页
FlatNas 是一个轻量级、高度可定制的个人导航页与仪表盘系统。它基于 Vue 3 和 Express 构建,旨在为 NAS 用户、极客和开发者提供一个优雅的浏览器起始页
565 109
FlatNas:打造你的专属浏览器仪表盘,一个集优雅与实用于一身的开源导航页
|
4月前
|
JavaScript Java 关系型数据库
基于springboot的项目管理系统
本文探讨项目管理系统在现代企业中的应用与实现,分析其研究背景、意义及现状,阐述基于SSM、Java、MySQL和Vue等技术构建系统的关键方法,展现其在提升管理效率、协同水平与风险管控方面的价值。
|
7天前
|
监控 网络安全 PHP
PHP 应用遭遇 DDoS 攻击时会发生什么 从入门到进阶的防护指南
本文详解PHP应用遭遇DDoS攻击时的真实表现:Web服务器CPU/内存飙升、数据库过载、带宽耗尽、PHP脚本超时等,并提供从限流(Redis)、CDN分流、WAF防护到Cloudflare等第三方服务的实战防御方案,助你快速识别与应对。(239字)
54 14