Declare @fn nvarchar(100),@s nvarchar(1000),@p nvarchar(1000);
set @fn = 'C:\Users\Administrator\Desktop\111.xls';
set @s ='''microsoft.jet.oledb.4.0'',''datasource="'+@fn+'";user id=admin;password=;extended properties=excel 8.0''';
set @p = 'select * from opendatasource ('+@s+')...sheet1$'
exec (@p);运行后会出现错误:
消息 7403,级别 16,状态 1,第 1 行
尚未注册 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0"。求解

解决方案 »

  1.   


    EXEC sp_configure 'show advanced options', 1;
    RECONFIGURE;
    EXEC sp_configure 'xp_cmdshell', 1;
    RECONFIGURE;
      

  2.   


    EXEC sp_configure 'show advanced options', 1;
    RECONFIGURE;
    EXEC sp_configure 'xp_cmdshell', 1;
    RECONFIGURESELECT * FROM 
    OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="C:\Users\Administrator\Desktop\111.xls";Extended properties=Excel 8.0')...[Sheet1$]
      

  3.   


    EXEC sp_configure 'show advanced options', 1;
    RECONFIGURE;
    EXEC sp_configure 'xp_cmdshell', 1;
    RECONFIGURESELECT * FROM 
    OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="C:\Users\Administrator\Desktop\111.xls";Extended properties=Excel 8.0')...[Sheet1$]
      

  4.   


    EXEC sp_configure 'show advanced options', 1;
    RECONFIGURE;
    EXEC sp_configure 'xp_cmdshell', 1;
    RECONFIGURESELECT * FROM 
    OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="C:\Users\Administrator\Desktop\111.xls";Extended properties=Excel 8.0')...[Sheet1$]
      

  5.   

    另外执行sql时,记得把excel文件关闭
      

  6.   

    http://blog.csdn.net/sych888/archive/2010/03/31/5438299.aspx
      

  7.   


    还是出现消息 7403,级别 16,状态 1,第 2 行
    尚未注册 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0"。  悲剧了
      

  8.   


    你运行sql时,是否将这excel打开了
      

  9.   

    另外再看下服务器对象--链接服务器--访问接口--Microsoft.Jet.OLEDB.4.0
    有没有