我用
SELECT * into POI_TEMP   FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source =f:\dbf;User ID=Admin;Password=;Extended properties=dBase 5.0')... POI_1;
导入dbf数据 到sql server 然后 添加序列号 alter   table  POI_TEMP  add SerialID   bigint IDENTITY(1,1) PRIMARY KEY NOT NULL;接着用企业管理器中提供的数据导入方式(driver do microsoft dBase(*.dbf))ODBC 数据源导入POI_1 成功后添加序列号 alter   table  POI_1  add SerialID   bigint IDENTITY(1,1) PRIMARY KEY NOT NULL;然后想判断记录顺序是否一致
select count(*) from POI_TEMP a, POI_1 b where a.SerialID =b.SerialID and a.FEATCODE != b.FEATCODE;结果发现193000条记录中竟有71600条件不同,请问哪一个方式是对的? 如果都不对如何才能按照POI_1.dbf文件中的记录顺序导入数据? 

解决方案 »

  1.   

    想原来数据相同 根据以前数据库存储的顺序那列 排序 SELECT   *   into   POI_TEMP       FROM   OpenDataSource(   'Microsoft.Jet.OLEDB.4.0',   'Data   Source   =f:\dbf;User   ID=Admin;Password=;Extended   properties=dBase   5.0')...   POI_1 order by 排序
      

  2.   

    哪一个方式对要你自己比较判断可以考虑先建好表(包括自增字锻),然后
    insert into POI_TEMP(...)          --除自增外所有字段,顺序与原来一样
    SELECT   *     FROM   OpenDataSource(   'Microsoft.Jet.OLEDB.4.0',   'Data   Source   =f:\dbf;User   ID=Admin;Password=;Extended   properties=dBase   5.0')...   POI_1; 
      

  3.   

    原表没有自增字段的,而且field字段值大都是字符型的,因为还有一个表记录顺序跟原表顺序一致的,如果导入的顺序出错,将两个表整合时就可能出现不一致 
      

  4.   

    如果原表的FEATCODE唯一,可以用方法1,加 order by FEATCODE
      

  5.   

    两个表不是同一类型的,一个是dbf文件,另一个是csv文件,只是再原表中的记录顺序一致,导入到sql server 中也要保持记录顺序一致
      

  6.   

    因为是写在存储过程里的所以用的是 SELECT   *   into   POI_TEMP       FROM   OpenDataSource(   'Microsoft.Jet.OLEDB.4.0',   'Data   Source   =f:\dbf;User   ID=Admin;Password=;Extended   properties=dBase   5.0')...   POI_1; 但是导入后才发现记录顺序不对,我搞不明白sql server 导入的顺序难道不是按照原表记录顺序吗?
      

  7.   

    保险的方法: 
    在原来库中加序号字段,dbf文件和csv文件都是可以加的 
    然后随便导入 
    在SQL   Server   可以select   *,IDENTITY   (int,1,1)   as   id0001   into   POI_TEMP1   from   POI_TEMP   order   by   加的字段 
    最后删除 加的字段 alter   table   POI_TEMP1   drop   column   加的字段 
    做之前注意备份原始文件 
      

  8.   

    在dbf   中该如何加字段呀? 
      

  9.   

    slect *,新字段1,新字段2=(select .. from ...) from opendatasource(.....)
      

  10.   

    在dbf       中该如何加字段呀?   dbf可以用excel打开,编辑后保存成csv也行,保存成excel文件也可以导入excel可以一下拉出顺序数的,很方便
      

  11.   

    数据太大啦,有300多万条,excel 只能打开65550左右条