首页 > 解决方案 > 从txt文件的所有列中导入数据作为文本

问题描述

假设我有这个文本文件:

Name, Zipcode
Person1 2630
Person2, 2500
Person3, NA

我想将所有内容作为文本导入。所以我创建了一个表:

DROP TABLE IF EXISTS ImportFromText;

CREATE TABLE ImportFromText ([Name] nvarchar(50),
                            Zipcode nvarchar(50));
Go

然后我试试这个:

BULK INSERT ImportFromText
FROM 'C:\Users\david\Desktop\Zipcode.txt'
WITH ( FORMAT='CSV',
      ROWTERMINATOR = '\n'
      );
Go

但我得到这个错误:

Msg 4879, Level 16, State 1, Line 15
Bulk load failed due to invalid column value in CSV data file C:\Users\david\Desktop\Zipcode.txt in row 2, column 1.
Msg 7399, Level 16, State 1, Line 15
The OLE DB provider "BULK" for linked server "(null)" reported an error. The provider did not give any information about the error.
Msg 7330, Level 16, State 2, Line 15
Cannot fetch a row from OLE DB provider "BULK" for linked server "(null)".

标签: sqlsql-servertsql

解决方案


唯一的问题是第二行中的分隔符(缺少列分隔符)。

更正后代码工作正常。

在此处输入图像描述


推荐阅读