【SQLserver】用OPENDATASOURCE函数将EXCEL数据写入SQLserver表中

使用T-SQL语句将excel表数据写入SQLserver的实现方式.

一、使用OPENDATASOURCE前需要确保该服务开启:

    exec sp_configure 'show advanced options',1
    reconfigure
    exec sp_configure 'Ad Hoc Distributed Queries',1
    reconfigure

    EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1

    EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1

二、相关操作语句

--SQLserver中查询EXCEL表中的数据

SELECT * FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0',
 
'Data Source=C:\test.xlsx;Extended Properties="Excel 8.0;HDR=YES;IMEX=1"')
 
...sheet$
 
--表格存放路径可以自定义,一般都是C盘.
--将excel数据插入到数据表,进行数据加工处理,注意查询出来的列和表列数需一致.
insert into test.dbo.test(字段名A,B,C,D) --必须和EXCEL列名一致.
SELECT * FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0',
'Data Source=C:\Data\DDfiles\test.xlsx;Extended Properties="Excel 8.0;HDR=YES;IMEX=1"')
...[sheet$]  --表格文件里的表名

三、使用结束后关闭。


--使用完成后,关闭Ad Hoc Distributed Queries:
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值