我正在尝试从一组 .csvs 中批量插入数据,并成功创建了每个 .csvs 的相应表;我已经从 mac 中移动了这些文件,所以我在插入中指定了以下内容:
BULK INSERT [dbo].[DimBeat] FROM '$(SqlSamplesSourceDataPath)DimBeat.csv'
WITH (
CHECK_CONSTRAINTS,
--CODEPAGE='ACP',
DATAFILETYPE='char',
FIELDTERMINATOR=',',
ROWTERMINATOR='0x0A',
--KEEPIDENTITY,
TABLOCK
);
对于所有 Dim 表,相同的 2 条错误消息重复相同。以下是一个给出错误的 csv 的详细信息:2 行,ID 号从 1-300K 递增,以及一个 3 位代码
Create table DimBeat
(
CrimeNumber bigint primary key,
Beat varchar(20) unique not null
)
Go
当我尝试运行批量插入时,给出以下内容
Msg 4864,级别 16,状态 1,第 26 行 第 95631 行第 1 列 (CrimeNumber) 的批量加载数据转换错误(指定代码页的类型不匹配或无效字符)。
Msg 4864,级别 16,状态 1,第 26 行 第 191340 行第 1 列 (CrimeNumber) 的批量加载数据转换错误(指定代码页的类型不匹配或无效字符)。
我已经在 excel 中直观地检查了 和 ,并在 R 中按类型检查了它们,除了它们的大尺寸外,它们与各自列中的其他值没有明显差异;但是我相信它们仍然在 bigint 的范围内
有人知道为什么会发生此错误吗?