如题。
我是这么写的:Insert into test(ID,NAME,DEPT,CLASSID) 
SELECT ID,NAME,DEPT,CLASSID FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="D:\book2.xls";User ID=admin;Password=;Extended properties=Excel 5.0')...Sheet1$
执行后提示:
消息 7314,级别 16,状态 1,第 1 行
链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 不包含表 "Sheet1$"。该表不存在,或者当前用户没有访问该表的权限。
这是在SQL 2005中执行提示的,同样的语句在SQL2000中执行成功。

解决方案 »

  1.   

    链接服务器 "(null)" 
    有链接吗?有权限没?
      

  2.   

    SELECT * 
    FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
    'Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions]
    参考
      

  3.   

    同样的语句 在SQL 2000中执行成功的,应该不是权限吧。在2005中失败,是不是他们的写法有什么不同?
      

  4.   

    你是访问别人电脑的?链接服务器 "(null)" 的 OLE DB 访问接口
    没试过呢
      

  5.   

     insert OPENDATASOURCE(  'SQLOLEDB',  'Data Source=远程ip;User ID=sa;Password=密码'  ).库名.dbo.表名 (列名1,列名2)  SELECT 列名1,列名2  FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',  'Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions那应该要用这样的方式
      

  6.   

    还是同样的提示啊。单独执行这一句查不出数据来,提示那个错误。SQL库在服务器上,EXCEL在我机器上。应该怎么写呢。
      

  7.   

    我的问题和你差不多···我重新照着写了个别的代码,后来可以导入了,但不能访问
    以前的问题是这个
    The OLE DB provider "MICROSOFT.JET.OLEDB.4.0" for linked server "(null)" does not contain the table "sheet1$". The table either does not exist or the current user does not have permissions on that table.
      

  8.   

    楼主和12楼的问题是账户权限问题,楼主,为什么2000可以2005不行,原先,到service里查看,启动2005Sqlserver的账户是什么,在对于的excel文件属性里给你这个启动账户授权,你2000server的启动账户应该已经有权限了。12楼应该是同样的问题,自己查一下,很好解决的
      

  9.   

    我也是这个问题。sql2005在本地数据库可以,但在本地远程导入另一台机的数据库就出现错误了。
    消息 7314,级别 16,状态 1,第 1 行
    链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 不包含表 "Sheet1$"。该表不存在,或者当前用户没有访问该表的权限。
      

  10.   

    我也碰到这个问题了,我重建了一个Excel,把原来的Excel中的信息复制过去。再执行就OK了!!!
      

  11.   

    今天我也遇到了,不过俺是直接导入的,生成Sheet1$表单,再用insert into Table select * from Sheet1$,就完成了。但是感觉分两步走,是有点麻烦的,虽然操作简单
      

  12.   

    我也用的 insert into table select * from....  想实现一个excel的表 导入到指定的sql表的   虽然 提示 25 行 受影响  但是 我的sql表 依旧是空的   请教 这是怎么回事?
      

  13.   

    求助 为什么提示 n 行受影响 却没导入进去呢?  我用的就是 insert into table  select * from....