c# winform 实现对postgresql数据库的自动备份还原功能
来源:互联网 发布:java中如何调用方法 编辑:程序博客网 时间:2024/05/06 13:48
//创建进程
public static void StartCmd(String workingDirectory, String command)
{
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.WorkingDirectory = workingDirectory;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.CreateNoWindow = true;
p.Start();
p.StandardInput.WriteLine(command);
p.StandardInput.WriteLine("exit");
p.Close();
}
//构建执行的命令
StringBuilder sbcommand = new StringBuilder();
sbcommand.AppendFormat("pg_dump.exe -h localhost -p 5556 -U pgs -Fc -b -v -f\"{0}\" tj", @path);
String command = sbcommand.ToString();
//获取pg_dump.exe所在路径
String appDirecroty = @"C:\Program Files\pgsql\bin";
StartCmd(appDirecroty, command);
string backtime = time.ToString("yyyy年MM月dd日HH点mm分ss秒");
string sql = "insert into backup(version,date,path)values('1.0.7','" + backtime + "','" + path2 + "')";
MainFrmClient mfClient = new MainFrmClient();
mfClient.ExecSql(sql);
DataBind();
MessageBox.Show("恭喜,备份成功!");
//数据库还原
OpenFileDialog file = new OpenFileDialog();
file.Title = "打开文件";
file.Filter = "备份文件(*.backup)|";
file.InitialDirectory = "D:\\backup\\"; //默认路径
file.Multiselect = false;
if (file.ShowDialog() == DialogResult.OK)
{
//构建执行的命令
StringBuilder sbcommand = new StringBuilder();
sbcommand.AppendFormat("pg_restore.exe -h localhost -p 5556 -U pgs -d test -v \"{0}\"", file.FileName);
String command = sbcommand.ToString();
//获取pg_dump.exe所在路径
String appDirecroty = @"C:\Program Files\pgsql\bin";
StartCmd(appDirecroty, command);
MessageBox.Show("恭喜,还原成功!");
}
//对postgresql数据库内某一模式备份命令:
//h:主机IP,p:端口, U:用户名,f:备份文件存储位置,
sbcommand.AppendFormat("pg_dump.exe -h localhost -p 5556 -U pgs -Fc -v -f \"{0}\" --schema \"{1}\" tjtz", path, schemaName);
String command = sbcommand.ToString();
还原该模式数据时同上还原:
sbcommand.AppendFormat("pg_restore.exe -h localhost -p 5556 -U pgs -d test -v \"{0}\"", file.FileName);- c# winform 实现对postgresql数据库的自动备份还原功能
- c# winform 实现对postgresql数据库的自动备份还原功能
- C#实现数据库的备份与还原
- C#实现数据库的备份与还原
- 数据库备份与还原的C#实现
- C#实现数据库的备份和还原
- Postgresql的dump数据库备份与还原
- postgresql数据库的备份和还原
- postgresql 数据库的备份与还原
- C# Tip -- C#实现MySQL数据库的备份和还原
- pg_rman 实现对postgresql数据库的备份,恢复与管理
- postgresql数据库备份与还原
- C#实现SQLSERVER2000数据库备份还原的两种方法
- C#数据库备份及还原的实现代码
- 程序实现postgresql备份还原
- C#备份还原数据库
- PostgreSQL的备份与还原
- C# 版的数据库备份、还原、初始化
- JS页面刷新法
- listActivity和ExpandableListActivity的简单用法
- 如何改善团队合作
- Linq 常用查询
- java.util.logging.Logger使用详解
- c# winform 实现对postgresql数据库的自动备份还原功能
- malloc与free在不同文件里的特殊用法总结
- Hibernate SQL方言 (hibernate.dialect)
- js只能输入汉字和一个点
- COM接口-用C++语言定义接口
- 关于504的问题.
- Bada学习-(十九)可视化UI工具
- Firebug中的console tab使用总结
- 在MATLAB7.0中编译与发布可执行文件的详细步骤与一些问题解答