简体   繁体   English

在SQL Server 2008中从Excel批量上传

[英]Bulk upload from Excel in SQL Server 2008

I'm trying to bulk upload from an Excel file using the following query: 我正在尝试使用以下查询从Excel文件批量上传:

BULK INSERT TempRevenueForecast 
   FROM 'E:\RevenueTracker\Demo\UserTemplate.xls' 
   WITH (FORMATFILE = 'E:\RevenueTracker\Demo\TRF.FMT');
GO

But, I'm getting this error: 但是,我收到此错误:

Bulk load data conversion error (truncation) for row 1, column 2 第1列,第2列的批量加载数据转换错误(截断)

How can I solve it? 我该如何解决?

If you open the table TempRevenueForecast in edit mode (right-click-table - edit top 200 rows) in SSMS, you can just copy-paste the excel data over. 如果在SSMS中以编辑模式打开表TempRevenueForecast(右键单击表-编辑前200行),则只需将Excel数据复制粘贴到上面。

That's a very handy feature of SSMS. 这是SSMS的一个非常方便的功能。

Otherwise, use OpenRowSet: 否则,请使用OpenRowSet:

INSERT INTO [TempRevenueForecast ] ([Column1], [Column2], [Column3], [Column4])

SELECT A.[Column1], A.[Column2], A.[Column3], A.[Column4]
FROM OPENROWSET 
('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=E:\RevenueTracker\Demo\UserTemplate.xls;HDR=YES', 'select * from [Sheet1$]') AS A;

For that to work, the Microsoft Access Database Engine (ACE) components must be installed. 为此,必须安装Microsoft Access数据库引擎(ACE)组件。
http://www.microsoft.com/en-us/download/details.aspx?id=23734 http://www.microsoft.com/zh-cn/download/details.aspx?id=23734
or 要么
http://www.microsoft.com/en-us/download/details.aspx?id=13255 http://www.microsoft.com/zh-cn/download/details.aspx?id=13255

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

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