繁体   English   中英

PostgreSQL数据库备份

[英]Postgresql Database Backup

我正在开发C#应用程序,找不到有关使用C#备份数据库的任何详细信息。 我想为应用程序的用户提供保存数据库备份等的功能

如果有人可以提供有关此问题的信息,我将不胜感激。 我使用的系统规格为:

操作系统:Windows XP Pro / Windows Vista DB:C#的PostgreSQL .Net连接:Npgsql

我遵循了这样的方法

public static Boolean myfile(String content,String path)
{
    Boolean result = false;
    try
    {                
        System.Diagnostics.ProcessStartInfo info = new System.Diagnostics.ProcessStartInfo();
        info.FileName = path;
        info.Arguments = content;
        info.CreateNoWindow = true;
        info.UseShellExecute = false;
        System.Diagnostics.Process proc = new System.Diagnostics.Process();
        proc.StartInfo = info;
        proc.Start();
        proc.WaitForExit();                
        result = true;

    }
    catch (Exception ex)
    {
       Console.writeline(ex.Message);
    }
    return result;
}

我也通过了参数

content:pg_dump --inserts -h x.x.x.x -U xxxx -n public  -w  xxxx > D:\sql\mysample.sql


path:D:\Program Files\PostgreSQL\9.0\bin\PostgreSQL\9.0\bin\

我正在作为异常响应

拒绝访问

更新1:

我也用这样的代码来获得许可

//var permissionSet = new PermissionSet(PermissionState.None);
//var writePermission = new FileIOPermission(FileIOPermissionAccess.AllAccess, dirName);
//permissionSet.AddPermission(writePermission);

它没有帮助我。

拒绝访问表明存在文件权限问题。 也许您的用户没有运行pg_dump的权限,或者在写入文件输出时出现问题。

要做的第一件事是尝试运行它,只是丢弃输出,看看是否遇到相同的错误。 如果不这样做,则需要设置文件权限(右键单击目录,安全性,设置权限)。 如果这样做,您在运行pg_dump时会遇到问题(请对pg_dump文件尝试相同的操作)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM