在vfp中表有一个自由表tj,数据量大约有三万八千多条,我先把tj导出成dBASE IV格式的,接着我用Navicat 8 for mysql工具中导入向导导表,导入的格式为DBase 文件(*.dbf) ,选择编码方式为gb2312,最后开始导入,但是在导入后发现,导入进来的表只有一万九千多条,少了很多,并且在导入过程中的确实是已处理三万多条数据,但错误有一万多条,只添加了一万多条。问题很棘手,一直没解决,希望各位能帮忙一下。谢谢了!!(随便说一下,我的vfp数据库是6.0,mysql是5.0)

解决方案 »

  1.   

    但错误有一万多条:什么错误,字段类型VFP是什么?
      

  2.   

    贴一下未倒入的数据都是些什么样的?
    是否违反了某些表中的约束?比如主键,not null, 等.
      

  3.   

    我试把一个表中没有中文字段导入mysql中,可以全部导入,但只要有中文字段都有错误,这是刚才导入tj表中错误信息:
    [Msg] [Imp] Import start
    [Msg] [Imp] Import type - DBase file
    [Msg] [Imp] Import from - F:\qhcode\tj.dbf
    [Msg] [Imp] Create table [tj]
    [Msg] [Imp] Import table [tj]
    [Err] [Imp] 1406 - Data too long for column 'BMXXMC' at row 44
    [Err] [Imp] insert into `tj` (`BMH`,`XB`,`NL`,`ZZMM`,`NJ`,`BJ`,`BMXXDM`,`BMXXMC`,`ZKZH`,`QX`,`RANK`,`KDH`,`KCH`,`ZCH`,`RAND`,`QXDM`,`QXMC`,`KDDZ`,`KDMC`) values ('118080810042','濂?,'','灏戝厛闃熷憳','7','05','1808','浠诲嚖涔′腑瀛?,'1180830218','18','3','08','02','18','','18','瀹佹渤鍘?,'涓冮噷娴烽晣澶у潹鏉?,'浠诲嚖涔′腑瀛?),('118080810046','濂?,'','灏戝厛闃熷憳','7','05','1808','浠诲嚖涔′腑瀛?,'1180830219','18','3','08','02','19','','18','瀹佹渤鍘?,'涓冮噷娴烽晣澶у潹鏉?,'浠诲嚖涔′腑瀛?),('118090810008','濂?,'','缇や紬','7','03','1809','鍗楁锭涓','1180930101','18','3','09','01','01','','18','瀹佹渤鍘?,'涓冮噷娴烽晣寮犲皵娌芥潙','鍗楁锭涓'),('118090810011','濂?,'','缇や紬','7','03','1809','鍗楁锭涓','1180930102','18','3','09','01','02','','18','瀹佹渤鍘?,'涓冮噷娴烽晣寮犲皵娌芥潙','鍗楁锭涓'),('118090810002','濂?,'','缇や紬','7','04','1809','鍗楁锭涓','1180930103','18','3','09','01','03','','18','瀹佹渤鍘?,'涓冮噷娴烽晣寮犲皵娌芥潙','鍗楁锭涓'),('118090810005','濂?,'','缇や紬','7','03','1809','鍗楁锭涓','1180930104','18','3','09','01','04','','18','瀹佹渤鍘?,'涓冮噷娴烽晣寮犲皵娌芥潙','鍗楁锭涓'),('118090810001','濂?,'','缇や紬','7','03','1809','鍗楁锭涓','1180930105','18','3','09','01','05','','18','瀹佹渤鍘?,'涓冮噷娴烽晣寮犲皵娌芥潙','鍗楁锭涓'),('118090810010','濂?,'','缇や紬','7','03','1809','鍗楁锭涓','1180930106','18','3','09','01','06','','18','瀹佹渤鍘?,'涓冮噷娴烽晣寮犲皵娌芥潙','鍗楁锭涓'),('118090810006','濂?,'','缇や紬','7','03','1809','鍗楁锭涓','1180930107','18','3','09','01','07','','18','瀹佹渤鍘?,'涓冮噷娴烽晣寮犲皵娌芥潙','鍗楁锭涓'),('118090810004','鐢?,'','缇や紬','7','03','1809','鍗楁锭涓','1180930108','18','3','09','01','08','','18','瀹佹渤鍘?,'涓冮噷娴烽晣寮犲皵娌芥潙','鍗楁锭涓'),('118090810009','濂?,'','缇や紬','7','03','1809','鍗楁锭涓','1180930109','18','3','09','01','09','','18','瀹佹渤鍘?,'涓冮噷娴烽晣寮犲皵娌芥潙','鍗楁锭涓'),('118090810007','濂?,'','缇や紬','7','03','1809','鍗楁锭涓','1180930110','18','3','09','01','10','','18','瀹佹渤鍘?,'涓冮噷娴烽晣寮犲皵娌芥潙','鍗楁锭涓'),('118090810003','濂?,'','缇や紬','7','04','1809','鍗楁锭涓','1180930111','18','3','09','01','11','','18','瀹佹渤鍘?,'涓冮噷娴烽晣寮犲皵娌芥潙','鍗楁锭涓'),('118090810016','鐢?,'','缇や紬','8','03','1809','鍗楁锭涓','1180940101','18','4','09','01','01','','18','瀹佹渤鍘?,'涓冮噷娴烽晣寮犲皵娌芥潙','鍗楁锭涓'),('118090810015','濂?,'','鍥㈠憳','8','03','1809','鍗楁锭涓
      

  4.   

    错误信息大多了,错误都差不多,最后一句是:
    [Msg] [Imp] Processed:38290, Added:38115, Updated:0, Deleted:0, Errors:175
    [Msg] [Imp] Finished - Unsuccessfully
    ------------------------------------------------------------------------
      

  5.   

    MYSQL默认字符集是什么、数据库、表、字段字符集是什么
      

  6.   

    安装mysql时,默认的字符编码是gb2312
      

  7.   

    你将DBF文件另存为TXT文件,再导入试试。
      

  8.   

    不行,用txt导入,也还是没全部导入
      

  9.   

    字符集的问题。你直接执行一条insert的中文SQL语句,看看是否正常。 如果不正常,show variables like 'char%'; 看一下你实际用的字符集,如果不对的话, set names 'gb2312';
      

  10.   

    如果TXT文凭 也不行的话,检查你的数据库的字符集
    show variables like 'char%'
    贴结果
      

  11.   

    用show variables like 'char%' 结果为:
    character_set_client         utf8
    character_set_connection utf8
    character_set_database         gb2312
    character_set_results         utf8
    character_set_server         gb2312
    character_set_system         utf8
    character_sets_dir         D:\Program Files\MySQL\MySQL Server 5.0\share\charsets/
      

  12.   

    问题解决了,我把my.ini配置文件下的default-character-set=gb2312改为default-character-set=gbk,并且把sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"前面加一个#,这样就可以把dbf的表全部数据导入,并且没有中文乱码。