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 \ Рабочий стол
двоеточие не является приемлемым в имени файла на Windows. Это символ разделителя дисков (как в 'C:'). Вы не можете использовать ':' в имени файла во временной части. Используйте что-то еще. –
Когда я изменяю 'string file = x + date +" database backup.sql ";' to 'string file = @" C: \ Users \ user \ Desktop \ database backup.sql ";', он работает. – ItaChi
Да, это работает, потому что вы правильно используете ':' как разделитель дисков. Проблема заключается в использовании в других местах, таких как метка времени. 'C: \ Somefile.txt' является действительным; 'C: \ Somefile: something.txt' нет. Двоеточие - это разделитель ** ** **; вы можете использовать его для указания буквы диска, но вы не можете использовать его в другом месте в имени файла. –