0
LOAD DATA INFILE
メソッドを使用してC#でMySQLテーブルを作成しています。LOAD DATA IN FILEのMySqlクエリを使用したメソッドは終了しません
そこで私は、クエリ文字列を作成するための方法を書いた...
public static string LoadDataInFile(string TempCsv, string MatchId)
{
StringBuilder MySqlString = new StringBuilder();
MySqlString.AppendFormat(@"LOAD DATA INFILE '{0}' INTO TABLE {1}_trackingdata
FIELDS TERMINATED BY ';'
IGNORE 1 LINES", TempCsv, MatchId);
return MySqlString.ToString();
}
と生のクエリを実行1:予想通り
public static void ExecuteRawQuery(string Query, string ConnectionString)
{
using (MySqlConnection conn = new MySqlConnection(ConnectionString.ToString()))
{
try
{
conn.Open();
MySqlCommand cmd = new MySqlCommand(Query, conn);
cmd.ExecuteNonQuery();
conn.Close();
Console.WriteLine("Import probably done...");
return;
}
catch (MySqlException SqlException)
{
Console.ForegroundColor = ConsoleColor.DarkRed;
Console.WriteLine("SqlException: {0}", SqlException.Message);
Console.WriteLine("Exit program.");
Console.ResetColor();
Environment.Exit(0);
}
}
}
テーブルは(プロ続編で確認)が取り込まれますしかし、アプリケーションは決して続かない。
public static void Main(string[] args)
{
// ...
ExecuteRawQuery(LoadDataInFile("myFile.csv", "123456"));
Console.WriteLine("I will never be displayed..");
// ...
}
ExecuteRawQuery()
が終了しない理由はありますか?他のクエリ(SELECT、UPDATE)を実行すると、すべてが期待通りに機能します。
あなたは 'ExecuteRawQuery(LoadDataInFile(「myFile.csv」、「123456」))への呼び出しにブレークポイントを置くことによって、あなたのコードをステップ実行しようとしたことがあり;' F11を押して通話を開始しますか? –