使用SQL Migration Assistant迁移Access至SQL Server报错,如何定位失败行?
定位Access转SQL Server迁移失败数据行的方案
1. 用Access查询直接筛选异常Double字段
针对迁移报错涉及的Double类型字段,在Access中创建查询语句找出无效值:
SELECT * FROM [目标表名] WHERE [Double类型字段名] IS NULL OR [Double类型字段名] NOT LIKE '#*' OR [Double类型字段名] = ''
这条语句会筛选出空值、非数字格式的无效行,这些通常是触发迁移报错的核心原因。
2. 提取迁移工具的详细日志
报错提示明确提到日志包含详细信息,找到迁移工具生成的日志文件(通常在工具安装目录、用户临时文件夹或项目输出目录下),日志中大概率会记录具体出错的表、行号甚至字段内容,可直接定位问题行。
3. 分段迁移缩小排查范围
将数据按主键(比如ID)分成若干小批量进行迁移,每完成一批就对比Access和SQL Server的数据行数。哪一批迁移失败,就锁定该批次的行范围,再针对性排查。
4. 借助Access内置工具检测异常
打开Access数据库,点击「数据库工具」选项卡中的「分析表」工具,它会自动扫描表内数据,包括Double字段的无效值、格式错误等,并直接标记出问题行的位置。
内容的提问来源于stack exchange,提问作者advapi
相关产品推荐
相关产品推荐

