关于解决SQL 2005不能导入EXC…

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

<wbr></wbr>

近期发现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 *<wbr><span style="color:blue">from</span><wbr></wbr></wbr>

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

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

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

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

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

2.<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr> 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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值