You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server Import Wizard 64位截断错误:如何跳过错误行完成导入

解决SQL Server导入时跳过截断错误的方法

一、Visual Studio(SSIS)操作设置

  • 打开SSIS项目的数据流任务,找到源到目标的数据传输路径
  • 双击这条路径,打开错误输出配置窗口,在“错误”和“截断”的下拉选项里,直接选**“忽略失败”——这样遇到问题行就自动跳过,不中断整个导入进程;如果想事后排查错误,也可以选“重定向行”**,把问题行导到单独的错误表或文件里,不影响主数据导入
  • 要是你用的是SQL Server导入导出向导(可在VS里启动),走到“配置错误输出”步骤时,同样把截断/错误的处理方式改成“忽略失败”或“重定向”就行

二、SQL命令批量导入(带错误跳过)

1. BULK INSERT 语句示例

BULK INSERT 目标库.dbo.目标表
FROM '你的数据文件全路径'
WITH (
    FIELDTERMINATOR = ',', -- 按实际分隔符调整,比如制表符用'\t'
    ROWTERMINATOR = '\n',
    ERRORFILE = 'D:\ErrorLogs\BadRows.txt', -- 错误行记录到这个文件
    MAXERRORS = 1000, -- 设置允许跳过的最大错误数,按需调整
    TABLOCK
);
  • MAXERRORS:只要错误行数没超过这个值,导入就会继续;设大一点(比如1000)足够覆盖你每50万行出现一次的错误频率
  • ERRORFILE:自动记录错误行的内容和位置,事后再处理就行

2. OPENROWSET 批量导入示例

INSERT INTO 目标库.dbo.目标表
SELECT * FROM OPENROWSET(
    BULK '你的数据文件全路径',
    FORMATFILE = 'D:\Format\TableFormat.xml', -- 提前生成格式文件
    ERRORFILE = 'D:\ErrorLogs\BadRows.txt',
    MAXERRORS = 1000
) AS ImportData;

格式文件可以用bcp命令生成(命令行执行):

bcp 源库.dbo.源表 format nul -c -x -f D:\Format\TableFormat.xml -S 你的服务器名 -U 用户名 -P 密码

三、额外优化建议

  • 先核对源表和目标表的字段长度,把目标表字段设成和源表一致,能从根源减少截断错误
  • 用SSIS的话,还可以加个派生列组件,提前把过长的字段截断到目标表允许的长度,避免触发错误

内容的提问来源于stack exchange,提问作者Francesco

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 11:12:37