批量插入停止工作

时间:2015-12-11 20:00:25

标签: tsql bulkinsert

我正在尝试将excel中的.csv文件导入到SQL Server manager 2014中的表中我昨晚让它上班并保存了我用过的代码然后当我尝试插入另一个表时它没有&#t; t插入它只是说零行受影响

BULK INSERT SchoolModel.dbo.Students
From 'C:\Users\Justin\Desktop\SchoolModeler\StudentTable.csv'
With
      (
         FIRSTROW= 2 ,
         FIELDTERMINATOR =' |',
         ROWTERMINATOR =' \n'
      );

昨晚完美工作现在它没有工作我想可能数据库坏了或者知道了什么所以我删除了整个数据库并使用与以前完全相同的代码重新创建它然后去插入表格我知道工作,它不会插入任何所以现在我卡住了几个小时的挫折,我不知道为什么它会突然停止工作?

CSV File

 CREATE TABLE Students
(
StudentID  INTEGER NOT NULL ,
LastName   VARCHAR (25) NOT NULL ,
FirstName  VARCHAR (25) NOT NULL ,
Residency  CHAR (1) ,
BirthDate  DATE NOT NULL ,
Gender     CHAR (1) ,
DegreePlan VARCHAR (50) NOT NULL

); ALTER TABLE学生添加约束Students_PK PRIMARY KEY(StudentID);

已修复

    Use SchoolModel
    Go
    BULK INSERT SchoolModel.dbo.Students
    From 'C:\Users\Justin\Desktop\SchoolModeler\StudentTable.csv'
   With
  (
     FIRSTROW = 2,
     FIELDTERMINATOR =',',
     ROWTERMINATOR = '\n'
  );

1 个答案:

答案 0 :(得分:0)

您可能编辑了csv,excel确实更改了分隔符或换行符。

使用文本编辑器打开您的csv并验证这一点。

也许它只是来自编辑,但你的sql显示了分隔符的空格。这必须删除。

在Windows操作系统上,换行符为\ r \ n。

您可以通过使用像pspad这样的TextEditor或显示不可打印字符的相同文本来打开csv来验证这一点。