把Excel中的数据导入到Sqlserver中

1、启用Ad Hoc Distributed Queries


在使用openrowset/opendatasource前搜先要启用Ad Hoc Distributed Queries服务,因为这个服务不安全所以SqlServer默认是关闭的,导入数据时需要使用Opendatasource功能。


启用Ad Hoc Distributed Queries的方法


SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource'


的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用


sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed Queries' 的详细


信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。
启用Ad Hoc Distributed Queries的方法,执行下面的查询语句就可以了:


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

2、将数据从Excel导入Sqlserver

SELECT * INTO XLImport3 FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
'Data Source=E:\a.xls;Extended Properties=Excel 8.0')...[Sheet1$]

红色部分为Excel文件的路径,蓝色部分为Excel文件表名

3、使用完毕后,记得一定要要关闭它,因为这是一个安全隐患,切记执行下面的SQL语句


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

reconfigure 

4、注意事项

①Excel文件不能加密

②导入数据时Excel文件不能打开

③好像不能支持.xlsx

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值