SQL Server大容量插入-";批量加载数据转换错误“;

SQL Server大容量插入-";批量加载数据转换错误“;,sql,database,sql-server-2008,Sql,Database,Sql Server 2008,在将批量数据插入数据库时,我在查看可疑数据后发现了一个无法解释的错误: Msg 4867,第16级,状态1,第6行 第1行第42列(FES)的大容量加载数据转换错误(溢出) 列FES是tinyint,现在是smallintd:\AData.csv在第1行第42列中包含一个2。这类错误还有其他来源吗 ---附加--- 我不知道如何正确地发布这个 创建表脚本 bulk insert dbo.A FROM 'd:\AData.csv' WITH ( FIELDTERMINATOR = ',', RO

在将批量数据插入数据库时,我在查看可疑数据后发现了一个无法解释的错误:

Msg 4867,第16级,状态1,第6行
第1行第42列(FES)的大容量加载数据转换错误(溢出)

列FES是
tinyint
,现在是
smallint
<代码>d:\AData.csv在第1行第42列中包含一个
2
。这类错误还有其他来源吗

---附加---

我不知道如何正确地发布这个

创建表脚本

bulk insert dbo.A
FROM 'd:\AData.csv'
WITH 
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
标题行

第二类,类型,ACR,AGS,浴,BDS,十个十、十、十、十、劳动、真空、真空、价值、价值、价值、价值、价值、价值、价值、价值、价值、价值、价值、价值、价值、价值、价值、行动、电话、电话、十、十、十、十、十、十、十、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、五、OCPIP、合伙人、PLM、PSF、,18、R60、R65、R18、R60、R60、R65、重新模式、模式、模式、模式、模式、模式、模式、模式、模式、模式、模式、模式、模式、模式、模式、模式、模式、模式、模式、模式、模式、模式、模式、模式、模式、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、工人、政府、政府、工人、工作站、政府、政府、政府、工厂、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、国防、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府、政府2、WGTP3、WGTP4、WGTP5、,第六,第14个,第15个,第15个,第15个,第15个,第15个,第16个,第14个,第15个,第15个,第15个,第16个,第16个,第17个,第17个,第17个,第18个,第19个,第20个,第20个,第20个,第7个,第7个,第7个,第7个,第7个,第7个,第7,第7个,第7个,第7个,第7个,第7个,第7个,第7个,第7个,第7个,第7个,第7个,第7个,第7个,第7个,第7个,第7个,第7,第7个,第7个,第7个,第7,第7个,第7,第7个,第7个,第7个,第7,第7,第7个,第7,第7个,第7,第7,第7,53、WGTP54、WGTP55、,WGTP56、WGTP57、WGTP58、WGTP59、WGTP60、WGTP61、WGTP62、WGTP63、WGTP64、WGTP65、WGTP66、WGTP67、WGTP68、WGTP69、WGTP70、WGTP71、WGTP72、WGTP73、WGTP74、WGTP75、WGTP76、WGTP77、WGTP78、WGTP79、WGTP80

第1行

2008000000023,H,601300,3,0110126501031270043,04,1,1,1,1,02,02,20000150,200002020,300150,200980,1,1,1,1,03,1,1,1,1,0210000,20080,09,2000058100,2,,,,4,1,000058100,0,3,3,3,1,1,1,3,02,04,0,0,02,024,0,1,0,1,0,0,1,01170,3,0,1,19,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,00112,00045,00068,00017,00044,00091,00071,00032,00036,00042,00048,00041,00013,00031,00063,00013,00037,00017,00063,00098,00026,00036,00017,00065,00036,00020,00014,00035,00037,00046,00047,000480000080000340001200061000300300300300100069000430006000110005000160000160000500005000000130000160000068000560000390004000420004900080010004100012000920000500005500049000160000160000160000160000160000160000160000160000160001200004000400016000060006000410010300120004800000070070073000520003003003800047000400001700040005900020000400040004000018


问题在于您使用的数据类型。只能处理从0到255的整数数据<代码>0210000不在该范围内

我建议您创建一个暂存表,将此文件转储到其中,并使用所有(n)个varchar创建该文件?这样,您就可以保留前导
0
s,考虑到您正在分析的数据类型,这可能是必需的


从暂存表中,您可以将清理操作运行到“报告”结构中,该结构允许您使用更合适的数据类型,您可以通过SQL查询识别这些数据类型来分析数据。

问题在于您使用的数据类型。只能处理从0到255的整数数据<代码>0210000不在该范围内

我建议您创建一个暂存表,将此文件转储到其中,并使用所有(n)个varchar创建该文件?这样,您就可以保留前导
0
s,考虑到您正在分析的数据类型,这可能是必需的


从暂存表中,您可以将清理操作运行到“报告”结构中,该结构将允许您使用更合适的数据类型,您可以通过SQL查询识别这些数据类型来分析您的数据。

您肯定没有在cvs文件上使用列标题,对吗?可能会有一个逗号使导入过程中断:@sammarcow Good thing。Annd文件上的值实际上是
“2”
,带有
或仅仅是
2
?@Lamak,这个值实际上只是一个2,这就是我挠头的原因。你能发布你的表定义和文件的第一行数据吗?你肯定没有在cvs文件上使用列标题,对吗?可能有一个逗号使导入过程中断:@sammarcow Good thing。Annd文件上的值实际上是
“2”
,带有
或只是
2
?@Lamak,这个值实际上只是一个2,这就是我挠头的原因。你能发布你的表定义和文件的第一行数据吗?这是正确的。我的创建表脚本不正确,导致不一致。这是正确的。我的创建表脚本不正确,导致不一致。
create table AcsBy320082010Hus(
serialnoId bigint,
RT char,
DIVISION tinyint,
PUMA int,
REGION tinyint,
ST tinyint,
ADJHSG int,
ADJINC int,
WGTP int,
NP tinyint,
TYPE tinyint,
ACR tinyint,
AGS tinyint,
BDS tinyint,
BLD tinyint,
BUS tinyint,
CONP smallint,
ELEP smallint,
FS smallint,
FULP int,
GASP int,
HFL tinyint,
INSP varchar(6),
KIT tinyint,
MHP int,
MRGI tinyint,
MRGP int,
MRGT tinyint,
MRGX tinyint,
PLM tinyint,
RMS tinyint,
RNTM tinyint,
RNTP int,
SMP int,
TEL tinyint,
TEN tinyint,
VACS tinyint,
VAL tinyint,
VEH tinyint,
WATP int,
YBL tinyint,
FES tinyint,
FINCP int,
FPARC tinyint,
GRNTP int,
GRPIP tinyint,
HHL tinyint,
HHT tinyint,
HINCP int,
HUGCL bit,
HUPAC tinyint,
HUPAOC tinyint,
HUPARC tinyint,
LNGI tinyint,
MV tinyint,
NOC tinyint,
NPF tinyint,
NPP bit,
NR bit,
NRC tinyint,
OCPIP tinyint,
PARTNER tinyint,
PSF bit,
R18 bit,
R60 tinyint,
R65 tinyint,
RESMODE tinyint,
SMOCP int,
SMX tinyint,
SRNT bit,
SVAL bit,
TAXP tinyint,
WIF tinyint,
WKEXREL tinyint,
WORKSTAT tinyint,
FACRP bit,
FAGSP bit,
FBDSP bit,
FBLDP bit,
FBUSP bit,
FCONP bit,
FELEP bit,
FFSP bit,
FFULP bit,
FGASP bit,
FHFLP bit,
FINSP bit,
FKITP bit,
FMHP bit,
FMRGIP bit,
FMRGP bit,
FMRGTP bit,
FMRGXP bit,
FMVYP bit,
FPLMP bit,
FRMSP bit,
FRNTMP bit,
FRNTP bit,
FSMP bit,
FSMXHP bit,
FSMXSP bit,
FTAXP bit,
FTELP bit,
FTENP bit,
FVACSP bit,
FVALP bit,
FVEHP bit,
FWATP bit,
FYBLP bit,
WGTP1 int,
WGTP2 int,
WGTP3 int,
WGTP4 int,
WGTP5 int,
WGTP6 int,
WGTP7 int,
WGTP8 int,
WGTP9 int,
WGTP10 int,
WGTP11 int,
WGTP12 int,
WGTP13 int,
WGTP14 int,
WGTP15 int,
WGTP16 int,
WGTP17 int,
WGTP18 int,
WGTP19 int,
WGTP20 int,
WGTP21 int,
WGTP22 int,
WGTP23 int,
WGTP24 int,
WGTP25 int,
WGTP26 int,
WGTP27 int,
WGTP28 int,
WGTP29 int,
WGTP30 int,
WGTP31 int,
WGTP32 int,
WGTP33 int,
WGTP34 int,
WGTP35 int,
WGTP36 int,
WGTP37 int,
WGTP38 int,
WGTP39 int,
WGTP40 int,
WGTP41 int,
WGTP42 int,
WGTP43 int,
WGTP44 int,
WGTP45 int,
WGTP46 int,
WGTP47 int,
WGTP48 int,
WGTP49 int,
WGTP50 int,
WGTP51 int,
WGTP52 int,
WGTP53 int,
WGTP54 int,
WGTP55 int,
WGTP56 int,
WGTP57 int,
WGTP58 int,
WGTP59 int,
WGTP60 int,
WGTP61 int,
WGTP62 int,
WGTP63 int,
WGTP64 int,
WGTP65 int,
WGTP66 int,
WGTP67 int,
WGTP68 int,
WGTP69 int,
WGTP70 int,
WGTP71 int,
WGTP72 int,
WGTP73 int,
WGTP74 int,
WGTP75 int,
WGTP76 int,
WGTP77 int,
WGTP78 int,
WGTP79 int,
WGTP80 int)