Tsql 批量插入停止工作

Tsql 批量插入停止工作,tsql,bulkinsert,Tsql,Bulkinsert,我正在尝试将一个.csv文件从excel导入SQL server manager 2014中的一个表中。我昨晚让它工作,并保存了我使用的代码。当我尝试插入另一个表时,它没有插入,只是一直说零行受影响 BULK INSERT SchoolModel.dbo.Students From 'C:\Users\Justin\Desktop\SchoolModeler\StudentTable.csv' With ( FIRSTROW= 2 , FIELDT

我正在尝试将一个.csv文件从excel导入SQL server manager 2014中的一个表中。我昨晚让它工作,并保存了我使用的代码。当我尝试插入另一个表时,它没有插入,只是一直说零行受影响

BULK INSERT SchoolModel.dbo.Students
From 'C:\Users\Justin\Desktop\SchoolModeler\StudentTable.csv'
With
      (
         FIRSTROW= 2 ,
         FIELDTERMINATOR =' |',
         ROWTERMINATOR =' \n'
      );
昨晚工作得很好现在它不工作了我想可能是数据库坏了或者什么谁知道的,所以我删除了整个数据库,并用与以前完全相同的代码重新创建了它,然后去插入我知道有效的表,它也不会插入,所以现在我陷入了数小时的沮丧,我不知道为什么会这样突然停止工作

)); 更改表学生添加约束学生主键(StudentID)

固定

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

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

用文本编辑器打开您的csv,并进行验证

也许它只是来自编辑,但是您的sql在分隔符之前显示了一个空格。必须将其移除

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


您可以通过使用文本编辑器(如pspad)或显示不可打印字符的同等文本编辑器打开csv来验证这一点

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

用文本编辑器打开您的csv,并进行验证

也许它只是来自编辑,但是您的sql在分隔符之前显示了一个空格。必须将其移除

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


您可以通过使用文本编辑器(如pspad)或显示不可打印字符的同等文本编辑器打开csv来验证这一点

您可以添加csv示例和表的定义吗?您可以添加csv示例和表的定义吗?使用的记事本++在csv中没有看到任何空格,将其更改为\r\n没有任何作用,但字段分隔符确实发生了更改。是的,我以前尝试过使用逗号,但您是对的是那里的空间给它带来了问题,事实上它是一个|而不是一个,不敢相信这么小的东西给了我这么多的挫败感。使用过的记事本++在csv中的任何地方都看不到任何空格,并且将其更改为\r\n也没有做任何事情,但字段分隔符确实发生了变化。是的,我以前尝试过使用逗号,但你是对的,是那里的空格导致了问题,事实上它是一个|真不敢相信这么小的事情给了我这么多挫折哈哈
    Use SchoolModel
    Go
    BULK INSERT SchoolModel.dbo.Students
    From 'C:\Users\Justin\Desktop\SchoolModeler\StudentTable.csv'
   With
  (
     FIRSTROW = 2,
     FIELDTERMINATOR =',',
     ROWTERMINATOR = '\n'
  );