2013-02-20 10 views
0

Я разрабатываю приложение C# и не могу найти никаких сведений о резервном копировании базы данных с помощью C#. Я хотел бы предоставить пользователям возможность сохранять резервную копию базы данных и т. Д.Резервное копирование базы данных Postgresql

Я был бы очень признателен, если бы кто-то мог предоставить информацию по этой проблеме. Спецификация системы я использую это:

ОС: 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\ 

я получаю ответ исключение, как отрицается

Доступ

Update 1:

я тоже используемый код, как это, чтобы получить разрешение, как

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

это не поможет мне ,

+0

Я думаю, что «доступ запрещен» довольно ясен: пользователю, который запускает эту программу, не разрешается писать этот файл. (Если ваше сообщение об ошибке не выглядит иначе, чем то, что вы отправили). –

+0

@a_horse_with_no_name ya, что хорошо, где я должен установить разрешение для его работы – GowthamanSS

+0

Через настройки безопасности Windows в каталоге. –

ответ

0

Доступ запрещен предлагает проблему с разрешением файла. Возможно, у вашего пользователя нет разрешения на запуск pg_dump, или есть проблема с записью файла.

Первое, что нужно сделать, это попытаться запустить его и просто отбросить вывод и посмотреть, не получится ли у вас такая же ошибка. Если вы этого не сделаете, вам нужно установить права доступа к файлам (щелкните правой кнопкой мыши каталог, безопасность, установите разрешения). Если вы это сделаете, у вас возникнет проблема с запуском pg_dump (попробуйте сделать то же самое с файлом pg_dump).