我想从mysql数据库中将表格导出到txt或csv文件,就像您在phpmyadmin中所做的那样。我目前使用下面的代码,但在程序运行几个小时后,它会抛出“尝试读取流过”错误。如何使用C#从mysql数据库导出/下载表?
MySqlConnection connection = new MySqlConnection(MyConString);
MySqlCommand command = connection.CreateCommand();
connection.Open();
command.CommandText = "SELECT * FROM mytable";
MySqlDataReader result = command.ExecuteReader();
if (result != null)
while (result.Read())
{
string thisrow = "";
for (int i = 0; i < result.FieldCount; i++)
thisrow += result.GetValue(i).ToString() + ",";
pass = Regex.Replace(thisrow, @"\W*", "");
if (!hshTable.ContainsKey(pass)) hshTable.Add(pass, pass);
}
connection.Close();
有像myquerystring = "LOAD DATA LOCAL INFILE 'C:/mysqltable.txt' INTO TABLE mytable FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'";
,代替文件加载到数据库它下载表格,而不是一个命令?
好,我试过
MySqlConnection connection = new MySqlConnection(MyConString);
MySqlCommand command = connection.CreateCommand();
connection.Open();
myquerystring = "SELECT * INTO OUTFILE 'E:/mysqldump.csv' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' FROM mytable";
command.CommandText = myquerystring;
command.ExecuteNonQuery();
,但它一直给我“拒绝了用户‘管理员’@‘MYIP’访问(使用密码:YES)”,其中MYIP真的是我的IP错误,而不是服务器即使服务器IP在MyConString中指定。
您是否考虑过使用mysqldump http://dev.mysql.com/ doc/refman/5.1/en/mysqldump.html这个? – 2010-10-03 08:52:51
是的,但第三方应用程序不能用于此项目。它必须通过编码完成。有没有一个MySQL命令我可以执行下载一个表作为一个文件? – Jon 2010-10-03 09:00:41