无法备份mysql数据库,错误“给定路径's格式不支持”
本文关键字:给定路径 不支持 格式 路径 mysql 备份 数据库 错误 | 更新日期: 2023-09-27 18:08:39
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
错误。我怎么修理它?
注:txtb.Text
包含如下目录路径:' users 'user'Desktop
您的DateTime格式包含冒号。这些在文件或路径名中是不允许的,除了将驱动器号与路径分隔开。
您可以通过更改DateTime的格式字符串来轻松解决这个问题。现在所称的:
string x = txtb.Text;
string date = DateTime.Now.ToString("MM-dd-yyyy HH-mm-ss");
string file = x + date + "database backup.sql";
运行此命令时,您将得到(假设为txtb)。文本包含foo)在file
foo09-24-2016 14-20-59database backup.sql
你也可以考虑一次完成:
string file = String.Format(
"{0}{1:MM-dd-yyyy HH-mm-ss}database backup.sql",
txtb.Text,
DateTime.Now);
如果您允许用户提供(部分)文件名,请考虑检查无效字符。系统中的Path
类。IO命名空间有一个很好的辅助GetInvalidFileNameChars
.
if (file.IndexOfAny(Path.GetInvalidFileNameChars()) > -1)
{
// show an error
MessageBox.Show("invalid characters in file");
return;
}
InvalidPathChars