我有一个像这样的SQL Server表
CREATE TABLE [dbo].[Service]
(
[SID] INT IDENTITY (1, 1) NOT NULL,
[LID] INT NOT NULL,
[RID] INT NOT NULL,
PRIMARY KEY CLUSTERED ([SID] ASC),
CONSTRAINT [FK_dbo.Service_dbo.Location_LID]
FOREIGN KEY ([LID])
REFERENCES [dbo].[Locations] ([LID]) ON DELETE CASCADE,
CONSTRAINT [FK_dbo.Service_dbo.Rates_RID]
FOREIGN KEY ([RID])
REFERENCES [dbo].[Rates] ([RID]) ON DELETE CASCADE
)
我有一个.csv
文件,它只包含三列按顺序排列的数字,从1到100000。
例如:
1,1,1
2,2,2
3,3,3
并且它不断地持续着,直到有10万行数据。
我正在尝试使用以下查询通过Visual Studio通过T-SQL加载这个.csv
文件:
BULK INSERT service
FROM 'C:\service.csv'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
我遇到以下错误,但不知道为什么:
Msg 4864, Level 16, State 1, Line 1
批量加载数据转换错误(类型不匹配或指定代码页的无效字符):第1行,第3列(RID)。
\r\n
吗?Windows使用回车和换行符(CRLF或\r\n
)作为行终止符;而*nix和OSX仅使用LF(\n
)。 - Ken WhiteROWTERMINATOR = '''+CHAR(10)+'''
。顺便提一下,您可能希望使用KEEPIDENTITY选项。 - cha