在C++代码中或者SQLyog中执行如下代码
LOAD DATA INFILE  'F:/备份/new/a.csv' 
INTO TABLE test   FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n'  IGNORE 1 LINES ;
错误如下:
Error Code : 29
File 'F:\备份\new\ZTE_CI_129_264_201110200000_201110210000.csv' not found (Errcode: 2)
(0 ms taken)
设置了字符集都是gbk还是不行。
set character_set_client=gbk;
set character_set_connection = gbk;
set  character_set_database = gbk;
set character_set_results=gbk;
set character_set_server=gbk;LOAD DATA INFILE  'F:\\备份\\new\\a.csv' 
INTO TABLE test   FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n'  IGNORE 1 LINES ;
也有同样错误。但是在mysql.exe cmd客户端尝试却成功了。 求解。

解决方案 »

  1.   

    C++ 代码是 'F:/备份/new/a.csv'   没有用 "\\\\"
      

  2.   

    LOAD DATA INFILE 'F:/备份/new/a.csv' 
    File 'F:\备份\new\ZTE_CI_129_264_201110200000_201110210000.csv' not found (Errcode: 2)
    你确定你的代码和错误信息是正确的或者匹配的吗? 为什么文件名都不相同?!
      

  3.   

    采用将csv文件复制到 mysql数据库下,用相对路径导入成功了。如下:
     LOAD DATA INFILE  '../temp/a.csv'
    INTO TABLE table2  FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n'  IGNORE 1 LINES ;