导入Excel到Sql Server 2005 (转)

用SQL语句导入Excel到数据库

sql语句:

INSERT INTO 表 SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'

,'Excel 5.0;HDR=YES;DATABASE=c:/test.xls',sheet1$)

或者

SELECT * INTO student FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'

,'Excel 5.0;HDR=YES;DATABASE=c:/test.xls',sheet1$)

导入excel到数据库中的一个表

错误提示:

Msg 15281, Level 16, State 1, Line 1
SQL Server blocked access to STATEMENT 'OpenRowset/OpenDatasource' of component 'Ad Hoc Distributed Queries' because this component is turned off as part of the security configuration for this server. A system administrator can enable the use of 'Ad Hoc Distributed Queries' by using sp_configure. For more information about enabling 'Ad Hoc Distributed Queries', see "Surface Area Configuration" in SQL Server Books Online.

用sp_configure将'Ad Hoc Distributed Queries' 打开并设置

USE master
go
EXEC sp_configure 'Ad Hoc Distributed Queries',1
RECONFIGURE;
EXEC sp_configure;

错误提示:

Msg 15123, Level 16, State 1, Procedure sp_configure, Line 51
The configuration option 'Ad Hoc Distributed Queries' does not exist, or it may be an advanced option.

显示高级选项:

sp_configure 'show advanced options',1
RECONFIGURE WITH override
go
sp_configure 'Ad Hoc Distributed Queries',1
RECONFIGURE WITH override
go

这样在运行SQL语句没有问题。

原文地址:https://www.cnblogs.com/junzi2099/p/3872031.html