首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#和mysqldump

C#和mysqldump
EN

Stack Overflow用户
提问于 2013-05-10 21:51:03
回答 1查看 7.4K关注 0票数 0

我正在写一个应用程序,它应该制作一个数据库的完整副本,然后将其导入不同名称的同一服务器上。

所以,我想我应该使用mysqldump和mysql以及我应该传递给它们的参数。

好的,但是我不能让转储把文件放到我想要的地方,因为我必须知道文件的位置,然后把它传递给mysql。

代码语言:javascript
复制
StringBuilder exportPath = new StringBuilder();
//exportPath.Append(Directory.GetCurrentDirectory());
exportPath.Append(@" > C:\Temp\backup.sql");

Process MySQLDump = new Process();
MySQLDump.StartInfo.UseShellExecute = true;
//MySQLDump.StartInfo.RedirectStandardOutput = true;
MySQLDump.StartInfo.FileName = "mysqldump";
MySQLDump.StartInfo.Arguments = "-u root -proot -h localhost mytable" + exportPath;
MySQLDump.Start();
//string theDump = MySQLDump.StandardOutput.ReadToEnd();
MySQLDump.WaitForExit();
MySQLDump.Close();

我做错了什么,但我不知道是什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-10 21:56:46

您有两个选择:

  • 不会在命令行中重定向mysqldump的输出,而是使用更详细的进程创建并挂接mysqldump的标准输出。这使得它可以对文件进行后处理(例如将其散列),并将其写出到您想要的位置,或者直接将其运行到导入instance.
  • Understand,的标准输入中,因为> C:\\Documents and Settings\\admin\\Desktop\\databases\\db.sql不是命令行参数。您需要对参数和重定向部分字符串进行,并使用shell执行sssemble。请确保使用绝对路径名。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16483871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档