在SQL Server 2008中从Excel批量上载
我正在尝试使用以下查询从Excel文件批量上载:在SQL Server 2008中从Excel批量上载,sql,sql-server,excel,sql-server-2008,Sql,Sql Server,Excel,Sql Server 2008,我正在尝试使用以下查询从Excel文件批量上载: BULK INSERT TempRevenueForecast FROM 'E:\RevenueTracker\Demo\UserTemplate.xls' WITH (FORMATFILE = 'E:\RevenueTracker\Demo\TRF.FMT'); GO 但是,我得到了这个错误: 第1行第2列的大容量加载数据转换错误(截断) 如何解决此问题?如果在SSMS中以编辑模式(右键单击表格-编辑前200行)打开TempR
BULK INSERT TempRevenueForecast
FROM 'E:\RevenueTracker\Demo\UserTemplate.xls'
WITH (FORMATFILE = 'E:\RevenueTracker\Demo\TRF.FMT');
GO
但是,我得到了这个错误:
第1行第2列的大容量加载数据转换错误(截断)
如何解决此问题?如果在SSMS中以编辑模式(右键单击表格-编辑前200行)打开TempRevenueForecast表,则只需复制粘贴excel数据即可
这是SSMS的一个非常方便的功能 否则,请使用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;
要使其工作,必须安装Microsoft Access数据库引擎(ACE)组件。或
批量插入将不会加载Excel文件。您要么需要先保存为文本文件,要么使用OPENROWSET,就像这些示例(我搜索时在Google中出现的第一个示例)