如何从文本文件批量插入到sql表中

时间:2017-12-05 18:34:49

标签: csv bulkinsert

我在这里看到了一些例子,但我找不到合适的解决方案。

我有一个.txt文件,其中包含逗号分隔的数据,如下所示:

enter image description here

我在表格中bulk insert有以下逻辑:

SET @cmd = 'BULK INSERT dbo.vw_RPT_TBL_Bulk_Staging FROM '''+ @FullFilePath +
            '''WITH(FIRSTROW = 1,FIELDTERMINATOR = '','',ROWTERMINATOR=''\n'',TABLOCK)' 
EXEC (@cmd)

这是表结构:

enter image description here

执行后,所有内容都在一行中。

我需要将文件中的所有内容插入到表中,因此文件中的每一行都将位于单独的行中。 稍后,我将需要提取数据并根据特定条件将其移动到不同的表中。

如何正确插入数据?

2 个答案:

答案 0 :(得分:0)

您可能错误地设置了ROWTERMINATOR。试试这个:

SET @cmd = 'BULK INSERT dbo.vw_RPT_TBL_Bulk_Staging FROM '''+ @FullFilePath +
            '''WITH(FIRSTROW = 1,FIELDTERMINATOR = '','',ROWTERMINATOR=''\r\n'',TABLOCK)' 
EXEC (@cmd)

答案 1 :(得分:0)

我通过更改为ROWTERMINATOR =''0x0a''

来修复它