使用的sqlserver 2005,语句如下:insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;HDR=YES;DATABASE=d:\test.xls',[sheet1$])
SELECT *  from tab_renyuan_info where cun_id=80报错如下:
消息 213,级别 16,状态 1,第 1 行
插入错误: 列名或所提供值的数目与表定义不匹配。当我在选择语句中值选择一列时可以正确导出insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;HDR=YES;DATABASE=d:\test.xls',[sheet1$])
SELECT renyuan_name  from tab_renyuan_info where cun_id=80 超过一列就不行了,出现如上报错。高手快进,救命啊

解决方案 »

  1.   

     insert   into   opendatasource('microsoft.jet.oledb.4.0','Data   Source=d:\Info.mdb;Jet   OLEDB:Database   Password=system')   ...Info(字段名列表)   select   top   10   *   from   Info
      

  2.   

    insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 
    'Data Source="c:\Temp.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...table1 (A1,A2,A3) values (1,2,3) 
    写上字段名
      

  3.   

    请确认:
    SELECT *  from tab_renyuan_info where cun_id=80 选出来的列名
    和excel里的第一行列名必须完全一致