CSV导入SQL数据库时Import Data弹窗报错,InvariantName重复求助
解决SSMS导入数据向导因重复MySql.Data.MySqlClient条目报错的问题
问题分析
错误核心是machine.config文件的<DbProviderFactories>节点中存在重复的MySql.Data.MySqlClient条目,违反了InvariantName的唯一性约束,导致SSMS的导入向导无法正常加载。
解决方案
1. 手动清理machine.config中的重复条目
- 以管理员权限打开文本编辑器(如Notepad++、VS Code)
- 打开文件:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config- 若使用64位系统,同时检查
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config
- 若使用64位系统,同时检查
- 定位到
<system.data>节点下的<DbProviderFactories>区块 - 查找所有包含
Invariant="MySql.Data.MySqlClient"的条目,仅保留其中一个,删除其余重复项 - 保存文件后,重启SSMS,再尝试打开导入数据向导
2. 修复MySQL .NET Connector安装
- 打开控制面板的「程序和功能」,卸载当前的MySQL Connector/NET
- 下载对应版本的Connector/NET(匹配你的.NET框架版本)重新安装,安装程序会自动修复
machine.config中的DbProviderFactories配置 - 重启SSMS后测试导入功能
3. 使用独立的SQL Server导入导出向导
如果上述方法暂时无法生效,可以绕过SSMS直接运行独立向导:
- 打开文件资源管理器,导航到SQL Server安装目录下的DTS文件夹,例如:
C:\Program Files\Microsoft SQL Server\160\DTS\Binn\DTSWizard.exe- 路径中的
160对应SQL Server 2022,若为其他版本,替换为对应编号(2019是150,2017是140)
- 路径中的
- 运行
DTSWizard.exe,直接使用独立向导完成CSV数据导入
内容的提问来源于stack exchange,提问作者Chiedozie Nnadozie
相关产品推荐
相关产品推荐

