当前位置: 首页 > 知识库问答 >
问题:

大容量插入SQL命令无法插入第一行

东门晓博
2023-03-14

我正在为SQL Server使用大容量插入命令,但由于某些原因,第一行没有插入。为什么不能从第一行插入数据?大容量插入是否需要标头作为默认设置,如何规避?如果我添加一个虚拟行,并将设置为firstrow=2,那么插入第一行就没有问题了,但我认为这不是一个好的解决方案。

BULK INSERT TableData
FROM 'C:\Users\Oscar\file.csv'
WITH (FIELDTERMINATOR = ';',
      ROWTERMINATOR = '\n',
      KEEPNULLS,
      KEEPIDENTITY)

示例数据:

1;Text 1;1;0;;
2;Text 2;1;0;;
3;Text 3;1;0;;
4;Text 4;1;0;;
5;Text 5;1;0;;

共有1个答案

孙钱青
2023-03-14

脚本可能是utf-8,您试图用cp-1252或其他东西从cmd加载它,开始时的UTF-Bom会让解释器抓狂。使用hexeditor查看,您将会看到它。

另存为ANSI,然后再试一次。

 类似资料:
  • 我正在使用大容量插入将文本文件读入SQL Server表。当我尝试使用bulk insert时,我总是会遇到同样的错误,尽管如果我取文本文件的第一行,并将值复制到一个普通的旧insert into语句中,一切都正常。我的数据库stop_times的设置如下: 但是,将第一行复制并粘贴到 管用。我觉得我在大容量插入函数中遗漏了一些非常明显的东西,但我一无所知。

  • 我正在使用大容量插入并得到以下错误: 注意:加载文件中的数据不超过配置的列长度 从'C:\temp\dataload\load_file.txt'大容量插入load_data(firstrow=1,fieldterminator='0x09',rowterminator='\n',MAXERRORS=0,ERRORFILE='C:\temp\dataload\load_file') Msg 486

  • 就像有人说的第二种方式更慢,但我不确定,那么哪种方式更好呢?不能使数据库崩溃。

  • 问题内容: 是否可以使用一个insert语句在一个表中插入多行?我知道如果发生以下情况,将会发生这种情况: 但是,如果我想插入: 只需一个插入命令? 问题答案: 两种解决方案(来源:http : //appsfr.free.fr/spip.php?article21): 或者

  • 前几天我开始开发一个bukkit插件,目的是在用户输入“/hello”时在文本窗口中返回hello。但是,这不起作用,因为我无法在eclipse中导入命令行。有什么建议吗?它说,“命令不能解析为类型”

  • 当我从CSV文件向表插入大容量数据时,它不工作,显示错误: 行2列9的大容量加载数据转换错误(类型不匹配或指定代码格式的字符无效) csv文件中的第9列值为NULL。 我怎么处理这个?