做了个应用程序,在程序中选择某个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,是不是程序版本上的问题,还是其他什么问题?跪求

解决方案 »

  1.   

    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
      

  2.   

    不要 跪求 , 男儿膝下有黄金。
    在代码里肯定没有问题,  
    这样试试
    'Microsoft.Jet.OLEDB.12.0'
      

  3.   

    访问.xls是需要权限的
    确定SQL帐号对该目录有读取权限.
    确定SQL帐号拥有调用'Microsoft.Jet.OLEDB.4.0'的权限(最好是SA,可以使用SA调试)
      

  4.   

    直接在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。"”
      

  5.   

    干嘛非要用OLEDB看看这个 Fast Excel file reader with basic functionality用的是FileStream流解析Excel文件,原始代码会出现中文字符乱码,若有兴趣,我这里有修改过的,若需要请联系。
      

  6.   

    问题解决了,Jet.OLEDB.4.0只能打开xls文件,我用xlsx文件,所以不行,
    这个错误应该都是由于openrowset后面的参数有问题所致