是不是你插入的字段顺序不对应!用插入到临时表看一下字段顺序.
SELECT a.用户姓名,a.所在区域,a.缴费日期,a.上次缴费日期,a.下次缴费日期,a.报装费,a.维护费,a.移户费,a.信息费,a.特殊业务费,a.工料费,a.收款员,a.备注
into #test
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 
   'F:\移动收费\CATV.mdb';'admin';'', 收费表) 
   AS a

解决方案 »

  1.   

    openrowset返回的字段顺序与表中实际字段顺序是不一样得,那么如何才能得到它的字段顺序呢?
    表字段类型設置成varchar或nvarchar型(上面你出現的1錯誤是類型問題,)
      

  2.   

    insert into openrowset('Microsoft.Jet.OLEDB.4.0',  'x:\A.mdb';'admin';'',A表) 
    select * from 数据库名..B表/*************导入Access********************/
    insert into B表 
    selet * from 
    openrowset('Microsoft.Jet.OLEDB.4.0',  'x:\A.mdb';'admin';'',A表)
    再不行的話就虛擬表保存一下再導入到原表。
    insert into #temp 
    selet * from 
    openrowset('Microsoft.Jet.OLEDB.4.0',  'x:\A.mdb';'admin';'',A表)
    select * into B表 from #temp
    --*可以是你想要的字段
      

  3.   

    openrowset返回得数据字段顺序是按字母顺序排序得
      

  4.   

    恩,问题就是插入顺序不对~
    昨天居然就没有想出来察看openRowSet得返回集顺序,谢谢大家~
      

  5.   

    to Hopewell_Go(好的在后頭﹗希望更好﹗﹗) 
    你说得把字段都改成char,不现实把,那数据库所有字段都成了char了~
    还有,下面你写的sql好像也没有调整字段顺序,所以执行起来效果应该一样~
    好了,谢谢大家,上面得都有分~