大虾们,本人愚钝想了这个问题几天都还没想出解决办法,请教教我吧。
大概是这样的,我打算要在客户端装mysql的数据库,然后我的客户端软件就可以通过访问本机的数据库就可以运行。从而可以做到离线的效果。现在我想用c#做一个小工具,可以将从远程服务端(mssql数据库)传来的数据(txt格式)文件导入到本地mysql数据库。我是通过以下代码执行:
MySqlCommand commn = new MySqlCommand(strSql, conn);//执行命令
commn.ExecuteNonQuery();
其中strsql是我要执行的sql操作。如下:
load data LOW_PRIORITY local infile 'c:/temp/tb_cfg_dirparser_dir.bcp' into table tb_cfg_dirparser_dir fields terminated by '###' lines terminated by '***'
这句话我再navicat for mysql里面执行时没问题的,但在上面代码就出错了。总是报出:error,during load data infile。
本人的想法:
第一:数据库连接时没问题的,同样的过程,我将上面的文件名改了,也可以在c#程序里正确运行。
第二:我试过几个文件,有些文件可以导入,有些就不可以;初步总结:文件多记录大概10000多,就出错,10000条以下的应该没问题,可以导入。
第三:我将c#里出错的语句放到navicat运行是可以导入的。
第四:我将可以正确导入的文件(记录比较少的)翻倍增加。到了10000多条c#里导入就出错了。
大概是这样的,我打算要在客户端装mysql的数据库,然后我的客户端软件就可以通过访问本机的数据库就可以运行。从而可以做到离线的效果。现在我想用c#做一个小工具,可以将从远程服务端(mssql数据库)传来的数据(txt格式)文件导入到本地mysql数据库。我是通过以下代码执行:
MySqlCommand commn = new MySqlCommand(strSql, conn);//执行命令
commn.ExecuteNonQuery();
其中strsql是我要执行的sql操作。如下:
load data LOW_PRIORITY local infile 'c:/temp/tb_cfg_dirparser_dir.bcp' into table tb_cfg_dirparser_dir fields terminated by '###' lines terminated by '***'
这句话我再navicat for mysql里面执行时没问题的,但在上面代码就出错了。总是报出:error,during load data infile。
本人的想法:
第一:数据库连接时没问题的,同样的过程,我将上面的文件名改了,也可以在c#程序里正确运行。
第二:我试过几个文件,有些文件可以导入,有些就不可以;初步总结:文件多记录大概10000多,就出错,10000条以下的应该没问题,可以导入。
第三:我将c#里出错的语句放到navicat运行是可以导入的。
第四:我将可以正确导入的文件(记录比较少的)翻倍增加。到了10000多条c#里导入就出错了。
------------
建议你贴出这个错误代码以便分析
mysql> select * from tb_aa;
ERROR 1146 (42S02): Table 'mysql.tb_aa' doesn't exist
mysql>