将CSV批量导入SQL Server

将CSV批量导入SQL Server,sql,sql-server,csv,Sql,Sql Server,Csv,我有一个.CSV文件,包含超过100000行 我尝试了以下方法将CSV导入表“Root” 但是有很多错误,比如检查你的终结者 我用记事本打开了CSV 没有终止符,或\n。我发现在这一排的末尾有一个正方形的盒子 请帮助我将此CSV导入表。 SQL Server批量导入操作不支持逗号分隔值(CSV)文件。但是,在某些情况下,CSV文件可以用作将数据批量导入SQL Server的数据文件。请注意,CSV文件的字段终止符不必是逗号。要用作批量导入的数据文件,CSV文件必须符合以下限制: 数据字段从不包

我有一个.CSV文件,包含超过100000行

我尝试了以下方法将CSV导入表“Root”

但是有很多错误,比如检查你的终结者

我用记事本打开了CSV

没有终止符
\n
。我发现在这一排的末尾有一个正方形的盒子

请帮助我将此CSV导入表。

SQL Server批量导入操作不支持逗号分隔值(CSV)文件。但是,在某些情况下,CSV文件可以用作将数据批量导入SQL Server的数据文件。请注意,CSV文件的字段终止符不必是逗号。要用作批量导入的数据文件,CSV文件必须符合以下限制:

  • 数据字段从不包含字段终止符
  • 数据字段中的任何值或所有值都用引号(“”)括起来

注意:可能还有其他不可见的字符需要从源文件中删除。VIM(命令:设置列表)或记事本++(视图>显示符号>显示所有字符)是两种检查方法

如果您熟悉Java,我已经为CSV操作编写了一套工具,包括导入器和导出器。该项目已发布在Github.com上:

进口商在这里:

有关如何使用进口商的说明,请检查:

您需要创建一个简单的映射文件。这里可以看到一个例子:

BULK INSERT  [dbo].[Root] 
FROM 'C:\Original.csv'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)