繁体   English   中英

SQL Server批量插入失败

[英]SQL Server Bulk Insert Failure

考虑表:

CREATE TABLE [dbo].[inputdata](
    [Name] [varchar](150) NULL,
    [AddressStreet] [varchar](150) NULL,
    [AddressStreet2] [varchar](150) NULL,
    [City] [varchar](150) NULL,
    [State] [varchar](2) NULL,
    [Zip] [varchar](5) NULL,
    [Phone] [varchar](10) NULL,
    [Campus] [varchar](50) NULL,
    [Access] [varchar](50) NULL,
    [Type] [varchar](50) NULL,
    [Degree] [varchar](50) NULL,
    [Unknown1] [varchar](50) NULL,
    [Unknown2] [varchar](50) NULL,
    [IdentType] [varchar](50) NULL,
    [Unknown3] [varchar](50) NULL
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

和插入脚本:

SET ANSI_DEFAULTS ON

BULK INSERT dbo.inputdata
FROM 'C:\inputdata.csv'
WITH (
   FIELDTERMINATOR = ','
   ,ROWTERMINATOR='\n' 
)

为什么会显示以下错误:

批量加载失败。 数据文件中第1行第15列的列太长。请验证是否正确指定了字段终止符和行终止符。

DataRow 1(我为此问题手动添加了\\ n,文件的每一行中都存在该字符):

1CRESCENT CITY BARTENDING INSTITUTE,209 N. BROAD AVE., ,NEW ORLEANS,LA,70119,.,Regular,Private,1-2 years,Diploma, , ,IPEDSUNIT,158617,\n

行尾有一个额外的场终结器。 额外的字段终止符可能导致其引发一般错误。

我希望这有帮助!

确保使用大容量插入文件加载包含奇怪项目(例如,额外的字段终止符或文本限定字段)的文件的一种方法是使用格式文件。 下面的链接说明了如何创建这些文件之一。

http://technet.microsoft.com/zh-CN/library/ms191479(v=sql.105).aspx

我试图重新创建您的问题,并且一切正常。 直到我尝试将文件转换为换行符不同的UNIX格式。 这给了我以下信息:

Bulk load data conversion error (truncation) for row 1, column 15 (Unknown3).

尝试使用十六进制编辑器查看文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM