日期:2014-05-18  浏览次数:20506 次

Excel表格数据导入SQL2005数据库问题求高手
1、申明:本人纯新手,正在学习当中;
2、我在网上看了有多种方法可以完成我要做的事情;
3、我选了
SELECT * 
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 
'Data Source="XLS文件路径";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions 
报错信息:
消息 15281,级别 16,状态 1,第 1 行
SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed Queries' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。 


4、选用
SELECT * FROM OPENROWSET
( 'Microsoft.Jet.OLEDB.4.0 ', 'Excel 5.0;DatabASE=D:\副本办公用品申请表(2).xls;HDR=YES;IMEX=1 ','5月$')
则报错:
消息 7403,级别 16,状态 1,第 1 行
尚未注册 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0 "。

求各位大神帮忙解答,不甚感激。

还有,DTS我怎么在SQL2005中找不到啊?(大神们,原谅我的小白行径!)


------解决方案--------------------
配置工具→外围应用配置器→功能的外围应用配置器→sqlexrpess→ 启用openrowset和pendatasource
------解决方案--------------------
何必写代码那么麻烦呢
直接数据库 右键——‘任务’——‘导入数据’,然后数据源选择“microso execl”,当然前提你是要按照好AccessDatabaseEngine.exe
具体请看:
1.在用SQL SERVER 2008访问.xlsx文件(office2007&2010文件格式)时,必须用
provider 'Microsoft.ACE.OLEDB.12.0' 来实现。
2.首先要安装AccessDatabaseEngine.exe。
下载路径:http://www.microsoft.com/downloads/details.aspx?familyid=7554F536-8C28-4598-9B72-EF94E038C891&displaylang=en