我想從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