将excel表数据导入SQL数据库表中的问题

qinchengtim 2010-01-26 10:04:43
做了个应用程序,在程序中选择某个excel文件插入SQL数据库
用SQL语句 insert into Users select * from OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=" + path + "',[Sheet1$])
错误提示:“链接服务器“null”的OLE DB访问接口“Microsoft.Jet.OLEDB.4.0”报错。提供程序未给出有关错误的任何信息。
链接服务器“(null)”的OLE DB访问接口“Microsoft.Jet.OLEDB.4.0”返回了消息“找不到可安装的ISAM”。


怎么办? 我用的是office2007,VS2008,SQL Server2005,是不是程序版本上的问题,还是其他什么问题?

跪求
...全文
105 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qinchengtim 2010-01-28
  • 打赏
  • 举报
回复
问题解决了,Jet.OLEDB.4.0只能打开xls文件,我用xlsx文件,所以不行,
这个错误应该都是由于openrowset后面的参数有问题所致
龙宜坡 2010-01-27
  • 打赏
  • 举报
回复
干嘛非要用OLEDB

看看这个 Fast Excel file reader with basic functionality

用的是FileStream流解析Excel文件,原始代码会出现中文字符乱码,若有兴趣,我这里有修改过的,若需要请联系。
qinchengtim 2010-01-26
  • 打赏
  • 举报
回复
直接在SQL Server管理器中建立查询 使用这条语句也是一样的错误,说明是语句本身有错误,

如果用Microsoft.Ace.OLEDB.12.0,提示“无法创建链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Ace.OLEDB.12.0" 的实例”

如果是Microsoft.Jet.OLEDB.4.0,提示“链接服务器"(null)"的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 返回了消息 "找不到可安装的 ISAM。"”
鸭梨山大帝 2010-01-26
  • 打赏
  • 举报
回复
访问.xls是需要权限的
确定SQL帐号对该目录有读取权限.
确定SQL帐号拥有调用'Microsoft.Jet.OLEDB.4.0'的权限(最好是SA,可以使用SA调试)
段传涛 2010-01-26
  • 打赏
  • 举报
回复
刚刚看的没有人回复,怎么突然之间 变成三楼了。
段传涛 2010-01-26
  • 打赏
  • 举报
回复
不要 跪求 , 男儿膝下有黄金。
在代码里肯定没有问题,
这样试试
'Microsoft.Jet.OLEDB.12.0'
wuyq11 2010-01-26
  • 打赏
  • 举报
回复
SELECT *
FROM OpenDataSource( 'Microsoft.ACE.OLEDB.12.0',
'Data Source="c:\A.XLS";User ID=Admin;Password=;Extended properties=Excel 5.0')...[A$]
SELECT *
FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0', 'Data Source= "c:\A.XLS";Extended Properties=Excel 5.0')...[A$]

select * from
OPENROWSET('Microsoft.ACE.OLEDB.12.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\A.XLS',A$)

http://topic.csdn.net/u/20090404/22/fe6f45e7-a4cf-4a4b-ad7b-7c2d72415368.html
  • 打赏
  • 举报
回复
其它地方是否使用独占方式打开了该数据文件?如果有,关掉再试

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧