我想导入一个Excel文件到SQL Server,但我面临一个错误。
我代码:create table test
(
AccountNumber varchar(50),
AccountName varchar(50),
ParentAccountNumber varchar(50)
)
select *
into test
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=D:testing.xls;HDR=YES',
'SELECT * FROM [Sheet1$]')
错误:留言7302,16层,状态1,10行
无法为链接服务器"(null)"创建OLEDB提供程序"Microsoft.Jet.OLEDB.4.0"的实例。
注意:
- Excel版本:2007
- SQL Server version: 2012
如果您不知道如何编写脚本,您可以使用向导本身来完成。
- 右键单击要导入excel文件的数据库名称。选择任务->导入
- 新向导将打开并选择源为Microsoft excel,目标为Sql server,并给出身份验证。
- 其余都是自解释的
- 您可以在导入之前预览数据,并且可以控制要导入的列。 最后点击finish来运行包。
- 将确认您导入成功。
创建表后再试一下,
INSERT INTO test (AccountNumber , AccountName , ParentAccountNumber)
SELECT *
FROM OPENROWSET ('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=D:testing.xls;HDR=YES',
'SELECT * FROM [Sheet1$]');
尝试运行以下代码:
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0' , N'AllowInProcess' , 1
GO
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0' , N'DynamicParameters' , 1
GO
select * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;Database=D:testing.xls;HDR=YES',
'SELECT * FROM [Sheet1$]')
请确保在运行此代码时关闭excel工作表