如何解决SQL Server导出数据时的代码页验证错误?
问题场景
从SQL Server导出数据到文本文件时,触发以下验证错误:
验证(错误)
消息
Error 0xc00470d4: Data Flow Task 1: The code page on Destination - binary_patient_2_txt.Inputs[Flat File Destination Input].Columns[patient_id] is 949 and is required to be 1252.
(SQL Server Import and Export Wizard)Error 0xc004706b: Data Flow Task 1: "Destination - binary_patient_2_txt" failed validation and returned validation status "VS_ISBROKEN".
(SQL Server Import and Export Wizard)Error 0xc004700c: Data Flow Task 1: One or more component failed validation.
(SQL Server Import and Export Wizard)Error 0xc0024107: Data Flow Task 1: There were errors during task validation.
(SQL Server Import and Export Wizard)
修复步骤
错误根源是目标文本文件的代码页(1252,西欧编码)与数据源列的代码页(949,韩文编码)不匹配,按以下操作解决:
调整目标文件的代码页设置
- 在导入导出向导中找到「Destination - binary_patient_2_txt」组件,右键选择「编辑」。
- 打开「平面文件目标编辑器」后,切换到「连接管理器」选项卡。
- 将「代码页」从1252改为949;如果需要兼容多语言环境,也可以直接选择UTF-8编码。
同步列的代码页属性
- 切换到「映射」选项卡,确认
patient_id列的映射关系正常。 - 若修改连接管理器后仍报错,点击「高级」按钮,找到
patient_id列,将其「代码页」属性设置为与目标文件一致的值(949/1252/UTF-8)。
- 切换到「映射」选项卡,确认
重新验证任务
- 保存设置后返回数据流界面,右键任务选择「验证」,确认错误已消除。
内容的提问来源于stack exchange,提问作者joy

