Je veux exporter une table d'une base de données mysql vers un fichier txt ou csv comme vous pouvez le faire dans phpmyadmin. J'utilise actuellement le code ci-dessous, mais après que le programme a fonctionné pendant quelques heures, il va lancer une erreur "essayé de lire après le flux".Comment exporter/télécharger une table à partir de la base de données mysql en utilisant C#?
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();
est-il une commande comme myquerystring = "LOAD DATA LOCAL INFILE 'C:/mysqltable.txt' INTO TABLE mytable FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'";
qu'au lieu de charger un fichier à la base de données télécharge la table à la place?
ok j'ai essayé
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();
mais il continue à me donner un « Accès refusé pour l'utilisateur « admin » @ « myip »(en utilisant le mot de passe: YES) » erreur où myip est vraiment mon ip et non les serveurs même si l'adresse IP des serveurs est spécifiée dans MyConString.
Avez-vous envisagé d'utiliser mysqldump http://dev.mysql.com/ doc/refman/5.1/fr/mysqldump.html pour cela? –
Oui, mais les applications tierces ne peuvent pas être utilisées pour ce projet. Cela doit être fait par le codage. Y at-il une commande mysql que je peux exécuter pour télécharger une table en tant que fichier? – Jon