只为成功找方向,不为失败找借口

每天都不能停止前进的脚步
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

问题:导入Excel到Sql Server 2005

Posted on 2008-12-12 14:59  冰碟  阅读(963)  评论(0编辑  收藏  举报

用SQL语句导入Excel到数据库

sql语句:

SELECT * into sheet$
FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0','Data Source=C:\Documents and Settings\liurj\Desktop\temp\a.xls;User ID=Admin;Password=;Extended properties="Excel 8.0;HDR=Yes;";Persist Security Info=False')...[Sheet$]

或者

select * into sheet3$
from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=C:\Documents and Settings\liurj\Desktop\temp\a.xls',[Sheet$])

导入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

 

这样在运行插入语句没有问题。OK