private void Backup()
{
string x = txtb.Text;
string date = DateTime.Now.ToString("MM-dd-yyyy HH:mm:ss");
string file = x + date + "database backup.sql";
string conn = "server = localhost; user id = root; password =; database = sais_db;";
try
{
MySqlBackup mb = new MySqlBackup(conn);
mb.Export(file);
MessageBox.Show("Database Backup Success!");
}
catch (MySqlException ex)
{
MessageBox.Show(ex.Message);
}
}
私のプログラムを実行すると、NotSupportedException
というエラーが発生します。どうすれば修正できますか?c# - エラーのあるmysqlデータベースをバックアップできません "指定されたパスの形式はサポートされていません。"
P.S. txtb.Text
にはC:\ Users \ user \ Desktopのようなディレクトリパスが含まれています
コロンは、Windows上のファイル名には受け入れられないための同様の方法があります。それはドライブの区切り文字です( 'C:'のように)。時間部分のファイル名に ':'を使用することはできません。別のものを使用してください。 –
'string file = x + date +"データベースbackup.sql ";"を 'string file = @" C:\ Users \ user \ Desktop \ database backup.sql ";'に変更すると、動作します。 – ItaChi
はい、ドライブセパレータとして ':'を正しく使用しているので動作します。問題はタイムスタンプのような他の場所でそれを使用しています。 'C:\ Somefile.txt'は有効です。 'C:\ Somefile:something.txt'はそうではありません。コロンは**ドライブセパレータ**です。それを使用してドライブ文字を指定することはできますが、ファイル名のどこにでも使用することはできません。 –