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

SQL Server批量导入超500列分隔文本文件始终显示0行受影响的问题咨询及最优方法求助

SQL Server批量导入超500列分隔文本文件始终显示0行受影响的问题咨询及最优方法求助

各位大佬好,我最近碰到了一个SQL Server批量导入的麻烦问题,想请教下大家的解决思路和最优方案:

我需要把一个包含537个varchar列的ASCII管道分隔(|)文本文件导入SQL Server 2019(版本v15.0.4390.2),但实际只需要其中276列。不管我尝试哪种导入方式,最终结果都是显示**"0 rows affected"**,完全没有数据被导入到目标表中。

我已经做了两次测试,具体情况如下:

测试1:使用XML格式文件指定需要的列

  • 源文件共537列,我编写了XML格式文件,只映射了需要的276列
  • 目标表按照源文件的对应顺序创建了276个varchar列
  • 执行的BULK INSERT语句:
BULK INSERT <table> 
FROM '<source file>' 
WITH ( 
    FORMATFILE = '<xml format file>', 
    FIRSTROW = 2, 
    FIELDTERMINATOR = '|', 
    ROWTERMINATOR = '\n', 
    TABLOCK, 
    KEEPNULLS, 
    BATCHSIZE = 10000 
    ERRORFILE = '<error file>' 
);
  • 结果:依然显示"0 row affected",且指定的错误文件中没有任何错误记录

测试2:不使用格式文件,导入全部列

  • 为了排除格式文件的问题,我创建了包含全部537列的目标表,列顺序和数据类型(varchar)完全匹配源文件
  • 直接执行无格式文件的BULK INSERT:
BULK INSERT <table> 
FROM '<source file>' 
WITH ( 
    FIRSTROW = 2, 
    FIELDTERMINATOR = '|', 
    ROWTERMINATOR = '\n' 
);
  • 结果:还是显示"0 row affected"

补充说明:源文件第一行是表头,后面确实有3行有效数据;目标表的列定义和源文件的列顺序、类型完全对应,没有不匹配的情况。

想请教各位:针对这种包含大量列的文本文件,SQL Server批量导入的最优方法是什么?我现在这种0行导入的问题可能出在哪里?有没有什么排查或解决的思路?

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.08 03:08:01