解决在Sql Server2005查询分析器中读取Excel表出现的一些问题

在sql2005查询分析器中读取excel时遇到的几个问题,收集了网上所有资源,最后问题终于解决了,网上很多答案都是粘贴、复制形式的,所以在实际的环境中并不能用,相信有很多朋友和我遇到过一样的错误,为了避免后人犯同样的错误,现总结分享给大家: 环境: 系统: windows7, 数据库: sqlserver2005, office: office2003 SQL读取Excel常用的方式有: A.通过使用 OpenRowSet 和 OpenDataSource 函数 B.通过使用链接服务器查询 Excel select * from OpenRowSet ('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;HDR=Yes;IMEX=1;Database=E:/bb.xls', [Sheet1$] ) 一般报错: 消息 7399,级别 16,状态 1,第 1 行 链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 报错。提供程序未给出有关错误的任何信息。 消息 7303,级别 16,状态 1,第 1 行 无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 的数据源对象。 select * from OpenDataSource ('Microsoft.Jet.OLEDB.4.0', 'Data Source=E:/bb.xls;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1"' )...[Sheet1$] 一般报错: 消息 7399,级别 16,状态 1,第 1 行 链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 报错。提供程序未给出有关错误的任何信息。 消息 7303,级别 16,状态 1,第 1 行 无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 的数据源对象。 SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source=E:/bb.xls;User ID=Admin;Password=;Extended properties=Excel 5.0' )...[Sheet1$] 一般报错: 消息 7308,级别 16,状态 1,第 1 行 因为 OLE DB 访问接口 'Microsoft.Jet.OLEDB.4.0' 配置为在单线程单元模式下运行,所以该访问接口无法用于分布式查询。 declare @rc int declare @server nvarchar(128) declare @srvproduct nvarchar(128) declare @provider nvarchar(128) declare @datasrc nvarchar(4000) declare @location nvarchar(4000) declare @provstr nvarchar(4000) declare @catalog nvarchar(128) set @server = 'exceltosql' set @srvproduct = 'excel' set @provider = 'microsoft.jet.oledb.4.0' set @datasrc = 'e:/bb.xls' set @provstr = 'excel 8.0' exec @rc = [master].[dbo].[sp_addlinkedserver] @server, @srvproduct, @provider, @datasrc, @location, @provstr, @catalog 查询: select * from exceltosql...sheet1$ 报错: 链接服务器"exceltosql"的 OLE DB 访问接口 "microsoft.jet.oledb.4.0" 返回了消息 "无法启动应用程序。工作组信息文件丢失,或是已被其它用户以独占方式打开。"。 消息 7399,级别 16,状态 1,第 1 行 链接服务器 "exceltosql" 的 OLE DB 访问接口 "microsoft.jet.oledb.4.0" 报错。身份验证失败。 消息 7303,级别 16,状态 1,第 1 行 无法初始化链接服务器 "exceltosql" 的 OLE DB 访问接口 "microsoft.jet.oledb.4.0" 的数据源对象。 下面总结解决方式: 1、在SQL Server 外围应用配置器中启用 OpenRowSet 和 OpenDataSource函数 2、执行以上sql语句的数据库必须是本地数据库,如果为远程的数据库就会报上面的错误 3、链接字符串 Extended Properties属性的内容要以分号间隔并用双引号括起来,sheet1$ 在括号外 原博客地址:http://wep2008.blogbus.com/logs/35390970.html 分类: SQL2005
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值