首页 新闻 会员 周边 捐助

sql读取Excel报错

0
悬赏园豆:20 [已解决问题] 解决于 2009-12-14 15:51

sql语句是这样的:

select * from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 8.0;HDR=YES;DATABASE=D:\zl\by.xls', [sh1$])

现在报的错误是:

服务器: 消息 7399,级别 16,状态 1,行 1
OLE DB 提供程序 'MICROSOFT.JET.OLEDB.4.0' 报错。提供程序未给出有关错误的任何信息。
OLE DB 错误跟踪[OLE/DB Provider 'MICROSOFT.JET.OLEDB.4.0' IDBInitialize::Initialize returned 0x80004005:  提供程序未给出有关错误的任何信息。]。

请问这是什么原因啊,郁闷的不行.

数据库的登录用户是sa,密码是111

问题补充: 我今天又试了一下,居然可以了,可是不知道为什么,我把路径和文件名及里面的表名都改为英文的,是不会报错了. 但是我修改了一下excel的格式,不知道为什么,再运行又不正确了.
Pwd的主页 Pwd | 初学一级 | 园豆:158
提问于:2009-12-10 09:33
< >
分享
最佳答案
0

select *
from openrowset
  ('Microsoft.Jet.OLEDB.4.0',
  'Excel 8.0; Database=D:\zl\by.xls',
  'select * from [Sheet1$]') 

格式如上,可能不同的office版本会有稍微的区别,再一个就是你这个路径必须是sql服务器的文件路径,如果xls文件不是在服务器上,也不行的。

收获园豆:20
清海扬波 | 小虾三级 |园豆:825 | 2009-12-10 11:22
还是原来的提示错误,郁闷啊,昨天读还是可以的,不知道为什么今天就不可以了.
Pwd | 园豆:158 (初学一级) | 2009-12-10 15:28
其他回答(1)
0

用导入导出向导试一下呢

isql | 园豆:320 (菜鸟二级) | 2009-12-10 10:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册