我用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命令导出的。