在尝试批量插入Excel文件到一个表,我收到以下错误BULK INSERT
42000 - 为行[SQL服务器]批量加载数据转换错误(截断) 2,第5栏(service_center)。
的制表符分隔的文件看起来像这样
protocol address date type body service_center read_status status date_sent readable_date contact_name
0 AM-GIBSBS " 14,98,31,75,95,113 " 1 "Apply for MBA in 3rd Best B-School, Residential Campus, 100% Placement, Education Loan Asst., Avail Scholarship - Missed Call 08030072318/www.gibsbschool.com" +919892081135 1 -1 1.49832E+12 "Jun 24, 2017 20:49:55" (Unknown)
我BULK INSERT和创建表的代码看起来是这样的
CREATE TABLE sms_tbl (
protocol VARCHAR(50),
address VARCHAR(50),
type VARCHAR(50),
body VARCHAR(500),
service_center VARCHAR(50),
read_status VARCHAR(50),
status VARCHAR(50),
date_sent VARCHAR(50),
readable_date VARCHAR(50),
contact_name VARCHAR(50))
BULK INSERT sms_tbl
FROM 'C:\Users\BIKASH-pc\SmsCallContact\SMS_Bikash.txt'
WITH (FIELDTERMINATOR = '\t', ROWTERMINATOR = '\n',FIRSTROW=2)
一旦改变身体列开始,因为1号列,代码似乎工作正常。我无法找出发生此错误的原因。
您的文件在批量插入操作中不应包含标题。在批量插入中,所有行只能是数据行;标题行会导致问题。请参阅Microsoft的[指导](https://docs.microsoft.com/en-us/sql/t-sql/statements/bulk-insert-transact-sql)“FIRSTROW属性不打算跳过列标题跳过标题不被BULK INSERT语句支持。“请删除标题和“FIRSTROW”属性并重试。您是否也可以确认您提供的是发生错误的行中的数据? – rjmd
你插入正确的文件?源文件是一个'.txt',但你已经指出你正在导入一个'.csv'? – rjmd
可能是因为标签之间的引用标题“申请工商管理硕士在第三最好的B学校,住宅校园,100%安置,教育贷款助理”而出现错误。,Avail奖学金 - 未接来电08030072318/www.gibsbschool.com“ – Rakib