Indukanth Ответов: 1

Как я могу взять файл .dmp с помощью orcle expdp.exe используя C#?


Всем Привет,

Как я могу сделать резервную копию определенной таблицы с помощью expdp.exe утилита, использующая код c#?

Что я уже пробовал:

string binary = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory + @"ExportUtility", "expdp.exe");
            string arguments = @"UUU/PPP@orlc file=D:\testdmp\123.dmp tables=XYZ";
            ProcessStartInfo PSI = new System.Diagnostics.ProcessStartInfo(binary, arguments);
            PSI.RedirectStandardInput = true;
            PSI.RedirectStandardOutput = true;
            PSI.RedirectStandardError = true;
            PSI.UseShellExecute = false;
            Process myProcess = System.Diagnostics.Process.Start(PSI);


Но я не уверен, что этот код работает или нет.

Afzaal Ahmad Zeeshan

Почему это не работает? Что он генерирует в качестве выходного сигнала?

1 Ответов

Рейтинг:
1

pparya27

Вы можете использовать приведенный ниже код для создания дампа с помощью "exp" и c#.
То же самое может работать и с "expdp" :


protected void btnExport_Click(object sender, EventArgs e)
    {
        string batchfile = "Docs/batchfile.bat";
        string exportfile = Server.MapPath("Docs/myexport.dmp");
        string exp_cmd = "exp user/pwd@db file='" + exportfile + "' log=a.log tables=(mytable)";

        StreamWriter sw = File.CreateText(Server.MapPath(batchfile));
        sw.WriteLine("@echo off");
        sw.WriteLine(exp_cmd);
        sw.WriteLine("exit");
        sw.Close();

        System.Diagnostics.Process p = System.Diagnostics.Process.Start(Server.MapPath(batchfile));
        p.WaitForExit();
        p.Close();

        Label2.Text = "Exported to : "+exportfile;

    }