0

C# アプリケーションを開発していますが、C# を使用したデータベースのバックアップに関する詳細が見つかりませんでした。アプリケーションのユーザーに、データベースのバックアップなどを保存する機能を提供したいと考えています。

誰かがこの問題に関する情報を提供していただければ幸いです。私が使用しているシステムの仕様は次のとおりです。

OS: Windows XP Pro/Windows Vista DB: PostgreSQL .Net C# の接続: 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);

それは私を助けません。

4

1 に答える 1

0

アクセスが拒否された場合、ファイルのアクセス許可の問題が示唆されます。ユーザーが pg_dump を実行する権限を持っていないか、ファイル出力の書き込みに問題がある可能性があります。

最初に行うことは、実行して出力を破棄し、同じエラーが発生するかどうかを確認することです。そうでない場合は、ファイルのアクセス許可を設定する必要があります (ディレクトリを右クリックし、セキュリティを設定し、アクセス許可を設定します)。その場合、pg_dump の実行に問題があります (pg_dump ファイルで同じことを試してください)。

于 2013-04-29T06:50:10.127 に答える