ITPub博客

首页 > 数据库 > SQL Server > 关于解决SQL 2005不能导入EXCEL数据问题的技术公告

关于解决SQL 2005不能导入EXCEL数据问题的技术公告

SQL Server 作者:yuanjqiu 时间:2013-12-27 10:39:52 0 删除 编辑

关于解决SQL 2005不能导入EXCEL数据问题的技术公告

 

近期发现SQL Server 2005在导入EXCEL数据时报错,经分析后发现,故障出在以下技术点:

SELECT *

FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',

'Data Source="E:客户信息.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[sheet1$]

SQL Server 2005以后的版本将不再支持Jet.OLEDB技术,即不再兼容以前的这种写法。所有涉及到的程序和工具都必须改写成以下格式:

select *  from 

opendatasource('Microsoft.ACE.OLEDB.12.0',

'Data Source="E:客户信息.xls";

Extended properties="Excel 5.0;hdr=yes;imex=1;"')...[sheet1$]

经调试验证,以上写法可以解决问题,但在使用上述技术前,需要两个问题要解决:

1.              操作系统必须支持Microsoft.ACE.OLEDB.12.0,为此,32位操作系统必须安装补丁“AccessDatabaseEngine.exe”,64位操作系统必须安装补丁“AccessDatabaseEngine64.exe”,值得注意的是,在64位操作系统上安装这个补丁,必须卸载以前所有的32位的OFFICE

2.              SQL SERVER 2005为了安全默认不支持导入EXCEL,必须使用语句打开,如下:

exec sp_configure 'show advanced options',1

reconfigure

exec sp_configure 'Ad Hoc Distributed Queries',1

reconfigure

作为良好的习惯,导入完成后,可以再关闭这个设置:

exec sp_configure 'show advanced options',0

reconfigure

exec sp_configure 'Ad Hoc Distributed Queries',0

reconfigure

基于以上认识,我们已经为多台电脑排除了故障,因此需要我们改写程序和工具,或采用新的EXCEL读写技术,以兼容SQL 2005和高版本的操作系统,在目前的情况下,在实际工作中可以先在有条件使用EXCEL导入工具的电脑上完成数据导入工作。

上述两个补丁已经在网站提供工具下载。

研发办公室

20131226

<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8810763/viewspace-1117807/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2013-06-13