Access → SQL Server 数据迁移工具

简单易用的数据库迁移解决方案,支持批量迁移、断点续传、自增ID保持

GitHub 开源 立即下载 v2.0

源码开源 · 可执行文件版本 available

v2.0
全新版本
100万+
支持数据量
断点
续传技术
100%
ID保持

核心功能

专为 Access 转 SQL Server 设计的智能迁移工具

开源可编译版本

完整源代码托管于 GitHub,支持自行编译为可执行文件,方便集成和二次开发

访问 GitHub 仓库

多驱动支持

自动检测系统ODBC驱动,支持 Microsoft Access Driver (*.mdb, *.accdb),未检测到时提供常见驱动预设

批量迁移

支持多表同时选择,一键批量迁移,可自定义每个表的字段映射关系

断点续传

SQLite本地记录迁移进度,大数据量迁移中断后可从上次位置继续,无需重来

自增ID保持

自动检测Access自增字段,动态检测目标表IDENTITY列,迁移后ID完全保持不变

字段映射记忆

手动调整字段映射关系,配置自动记忆,返回后不丢失,确保数据迁移精确可控

实时双进度条

总体进度和当前表进度实时显示,迁移过程清晰掌握,附带详细日志记录

脏数据容错

自动清洗NULL字符、Access幽灵空日期(1899-12-30),批量失败自动降级逐行插入

智能断点策略

未启用ID保留时自动放弃断点从头开始,避免ID错乱;完整游标释放防止连接泄漏

灵活目标配置

支持跳过/清空/追加三种表存在策略,可配置批量大小,适应不同迁移场景

v2.0 更新日志

相比 v1.0 的重要改进

新增功能
  • 字段类型映射记忆 - 用户配置的映射关系自动保存,返回后不丢失
  • 动态IDENTITY检测 - 动态检测目标表是否真正包含IDENTITY列,精确控制SET IDENTITY_INSERT
  • 脏数据清洗机制 - 自动处理NULL字符、bytes中的空字符、Access幽灵空日期(1899-12-30)
  • 批量降级策略 - 批量插入失败时自动降级为逐行插入,跳过问题行并记录详细错误
  • 完整游标释放 - 添加finally块确保游标100%被释放,防止数据库连接泄漏
  • 智能断点判断 - 未启用ID保留时自动放弃断点从头开始,避免目标表ID错乱
  • 驱动预设列表 - 未检测到SQL Server驱动时提供常见驱动预设供选择
  • 完善的关于页面 - 显示程序信息、作者及支持网站

技术优化
  • 优化主键检测逻辑,驱动不支持时降级查找自增列
  • 优化文件对话框过滤器格式,解决Mac/Linux兼容性问题
  • 完善错误处理和日志记录,方便问题排查
  • 改进UI交互细节,提升用户体验

免费下载 v2.0

支持 Windows 系统,Python 3.8+ 环境

开源版本 (Python源码)

单文件版本,开箱即用 · 需要 Python 环境

下载 access_migrator.py GitHub 源码
可执行文件版本 (无需Python)

预编译版本,下载即用,适合非技术用户

下载可执行文件
快速开始
# 安装依赖
pip install pyodbc PyQt5

# 运行工具
python access_migrator.py

系统要求

Windows 系统 + Python 3.8+
Microsoft Access Database Engine (32/64位)
SQL Server ODBC Driver

使用指南

简单五步,轻松完成数据库迁移

1
数据源配置

选择Access数据库ODBC驱动,浏览选择 .mdb/.accdb 文件,连接并加载表列表

2
目标配置

输入SQL Server服务器地址、数据库名,选择Windows或SQL Server身份验证,测试连接

3
表映射配置

勾选要迁移的表,配置迁移选项,使用默认映射或自定义字段映射(可记忆)

4
数据迁移

查看断点状态,点击开始迁移,实时查看进度条和日志,支持中途停止

5
完成确认

迁移完成后查看日志,可选择删除断点记录或继续迁移其他表

断点续传

迁移中断后可从断点继续,或删除断点记录重新开始导入