我用c#调用mysql.exe恢复数据库,出现如下问题:我在命令行中执行 mysql.exe --user=root --password=123456 --one-database hotel<e:/tablename.sql完全没有问题,tablename.sql 为tablename表的结构备份,但是在c#里调用就出问题了,代码如下:
ProcessStartInfo procInfo = new ProcessStartInfo();
procInfo.UseShellExecute = false;
procInfo.RedirectStandardError = true;//
procInfo.CreateNoWindow = false;
procInfo.RedirectStandardOutput = false;//
procInfo.FileName = @"C:\Program Files\MySQL\MySQL Server 5.0\bin\mysql";
procInfo.Arguments =“ --user=root --password=123456 --one-database hotel<e:/tablename.sql”;
Process p= Process.Start(procInfo);
string error = p.StandardError.ReadToEnd();
p.WaitForExit();
if (error != "")
{
//输出错误信息
}
错误信息如下:"ERROR 1102 (42000): Incorrect database name 'hotel<e:/tablename.sql'\r\n"
又试了hotel库的.sql备份文件可以在代码中正确执行,其中.sql文件都是mysqldump命令导出的。
ProcessStartInfo procInfo = new ProcessStartInfo();
procInfo.UseShellExecute = false;
procInfo.RedirectStandardError = true;//
procInfo.CreateNoWindow = false;
procInfo.RedirectStandardOutput = false;//
procInfo.FileName = @"C:\Program Files\MySQL\MySQL Server 5.0\bin\mysql";
procInfo.Arguments =“ --user=root --password=123456 --one-database hotel<e:/tablename.sql”;
Process p= Process.Start(procInfo);
string error = p.StandardError.ReadToEnd();
p.WaitForExit();
if (error != "")
{
//输出错误信息
}
错误信息如下:"ERROR 1102 (42000): Incorrect database name 'hotel<e:/tablename.sql'\r\n"
又试了hotel库的.sql备份文件可以在代码中正确执行,其中.sql文件都是mysqldump命令导出的。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货