将Excel中的数据导入SQL Server



我想导入一个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

如果您不知道如何编写脚本,您可以使用向导本身来完成。

  1. 右键单击要导入excel文件的数据库名称。选择任务->导入
  2. 新向导将打开并选择源为Microsoft excel,目标为Sql server,并给出身份验证。
  3. 其余都是自解释的
  4. 您可以在导入之前预览数据,并且可以控制要导入的列。
  5. 最后点击finish来运行包。
  6. 将确认您导入成功。

创建表后再试一下,

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工作表

相关内容

  • 没有找到相关文章

最新更新