通常是你的Excel驱动程序名称写错造成,改为如下试:
select * from     
  OPENROWSET('MICROSOFT.JET.OLEDB.4.0'   
  ,'Excel 8.0;HDR=YES;DATABASE=c:\test.xls', sheet1$)

解决方案 »

  1.   

    改成:
    select * into books from     
      OPENROWSET('MICROSOFT.JET.OLEDB.4.0'   
      ,'Excel 8.0;HDR=YES;DATABASE=c:\test.xls', sheet1$)这样之后,还是出错,错误如下:
    OLE DB 提供程序 'MICROSOFT.JET.OLEDB.4.0' 报错。提供程序未给出有关错误的任何信息。不明白什么意思。
      

  2.   

    SELECT * into books
    FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
      'Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...sheet1$
    格式应该这样的...
    你的HDR=YES是什么?用户名还是密码?
      

  3.   

    "caixia615(┌睜眼為殤.2ǒǒ6.閉眼為塵┐) "按照你的方法,错误仍然是:“
    OLE DB 提供程序 'MICROSOFT.JET.OLEDB.4.0' 报错。提供程序未给出有关错误的任何信息。
    ”。到底这是什么意思,实在不大明白!
      

  4.   

    你的HDR=YES是什么?用户名还是密码?
      

  5.   

    提供程序未给出有关错误的任何信息
    ----------------------------------
    可能原因:c:\test.xls并非真的是EXCEL文件,可能是test.txt
      

  6.   

    或者你先用查询的方式试下:
    创建一个名为 ExcelSource 的链接服务器,定义为 Microsoft Excel 电子表格 DistExcl.xls,然后创建一个映射以允许 SQL Server 登录 sa 使用 Excel 登录 Admin 连接到 ExcelSource,并且没有密码。EXEC sp_addlinkedserver 'ExcelSource', 
    'Jet 4.0',
    'Microsoft.Jet.OLEDB.4.0',
    'c:\test.xls',
    NULL,
    'Excel 5.0'
    GO
    EXEC sp_addlinkedsrvlogin 'ExcelSource', 'false', 'sa', 'Admin', NULL
      

  7.   

    [OLE/DB   provider   returned   message:   找不到可安装的   ISAM。] 删除命令行多余空格就可以正常执行了。
    OLE   DB   提供程序   'MICROSOFT.JET.OLEDB.4.0 '   报错。提供程序未给出有关错误的任何信息。 
    这个像gc_ding说的你使用的不是真正的excel文件,如有必要把文件另存为.xls就好了