Exemplo n.º 1
0
 public void ExecuteNonAsync(ParamsLoader loader, ParamsDB paramsDB = null)
 {
     try
     {
         Task.Run(() => Execute(loader, paramsDB));
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
Exemplo n.º 2
0
 public async Task ExecuteAsync(ParamsLoader loader, ParamsDB paramsDB = null)
 {
     try
     {
         await Task.Run(() => Execute(loader, paramsDB));
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
Exemplo n.º 3
0
 public void ExecuteNonAsync(ParamsScript script, ParamsDB paramsDB = null)
 {
     try
     {
         Task.Run(() => Execute(script, paramsDB));
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
Exemplo n.º 4
0
 public SQLLdr(ParamsDB @params) : base()
 {
     this.IPAdress   = @params.IPAdress ?? throw new ArgumentNullException(nameof(@params.IPAdress));
     this.PassDB     = @params.PassDB ?? throw new ArgumentNullException(nameof(@params.PassDB));
     this.PathClient = @params.PathClient ?? throw new ArgumentNullException(nameof(@params.PathClient));
     if (@params.Port > 1)
     {
         this.Port = @params.Port;
     }
     this.Service = @params.Service ?? throw new ArgumentNullException(nameof(@params.Service));
     this.UserDB  = @params.UserDB ?? throw new ArgumentNullException(nameof(@params.UserDB));
 }
Exemplo n.º 5
0
 public Task TaskExecute(ParamsLoader loader, ParamsDB paramsDB = null)
 {
     try
     {
         return(new Task(() =>
         {
             Execute(loader, paramsDB);
         }
                         ));
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
Exemplo n.º 6
0
 public Task TaskExecute(ParamsScript script, ParamsDB paramsDB = null)
 {
     try
     {
         return(new Task(() =>
         {
             Execute(script, paramsDB);
         }
                         ));
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
Exemplo n.º 7
0
        void Execute(ParamsLoader loader, ParamsDB paramsDB)
        {
            string Credentials, ComandoStartNewWindow, FileNameSystem;

            if (Environment.OSVersion.Platform == PlatformID.Unix)
            {
                FileNameSystem = "/bin/bash";
            }
            else
            {
                FileNameSystem = "cmd.exe";
            }
            if (paramsDB != null)
            {
                Credentials     = paramsDB.GetCredentials();
                CriarNovaJanela = paramsDB.CriarNovaJanela;
            }
            else
            {
                Credentials = GetCredentials();
            }
            if (CriarNovaJanela && Environment.OSVersion.Platform == PlatformID.Win32NT)
            {
                ComandoStartNewWindow = "start ";
            }
            else
            {
                ComandoStartNewWindow = "";
            }

            if (!Directory.Exists(loader.DirWorkControl))
            {
                Directory.CreateDirectory(loader.DirWorkControl);
                throw new Exception($@"Insert control file in path:\n{loader.DirWorkControl}");
            }
            var LogDir = $"{loader.DirWorkControl}\\LOG";
            var BadDir = $"{loader.DirWorkControl}\\BAD";

            if (!Directory.Exists(LogDir) || !Directory.Exists(BadDir))
            {
                Directory.CreateDirectory(LogDir);
                Directory.CreateDirectory(BadDir);
            }
            using (Process process = new Process())
            {
                process.StartInfo.UseShellExecute        = false;
                process.StartInfo.WorkingDirectory       = loader.DirWorkControl;
                process.StartInfo.RedirectStandardOutput = true;
                process.StartInfo.RedirectStandardInput  = true;
                process.StartInfo.FileName = FileNameSystem;

                process.StartInfo.CreateNoWindow = !CriarNovaJanela;

                process.Start();
                ProcessID = process.Id;
                string[] log             = loader.FileUpload.Split(new string[] { ".txt", ".csv", @"\", "." }, StringSplitOptions.RemoveEmptyEntries);
                string   NomeSemExtensao = log[log.Length - 1];
                string   ProcPar         = $@"{ComandoStartNewWindow}{PathClient}SQLLDR.exe {Credentials} control={loader.FileControl} log=.\LOG\{NomeSemExtensao}.log bad=.\BAD\{NomeSemExtensao}.bad data={loader.FileUpload}";
                //process.StandardInput.WriteLine("@echo on");
                process.StandardInput.WriteLine(ProcPar);
                process.StandardInput.Flush();
                process.StandardInput.Close();
                if (loader.Debug)
                {
                    DebugEventParams.Invoke(ProcPar + Environment.NewLine);
                }
                while (!process.StandardOutput.EndOfStream)
                {
                    DebugEventParams.Invoke(process.StandardOutput.ReadLine() + Environment.NewLine);
                }

                process.WaitForExit();
            }
        }
Exemplo n.º 8
0
        void Execute(ParamsScript script, ParamsDB paramsDB)
        {
            string Credentials, ComandoStartNewWindow, FileNameSystem;

            if (CriarNovaJanela && Environment.OSVersion.Platform == PlatformID.Win32NT)
            {
                ComandoStartNewWindow = "start ";
            }
            else
            {
                ComandoStartNewWindow = "";
            }
            if (Environment.OSVersion.Platform == PlatformID.Unix)
            {
                FileNameSystem = "/bin/bash";
            }
            else
            {
                FileNameSystem = "cmd.exe";
            }

            if (paramsDB != null)
            {
                Credentials     = paramsDB.GetCredentials();
                CriarNovaJanela = paramsDB.CriarNovaJanela;
            }
            else
            {
                Credentials = GetCredentials();
            }
            if (CriarNovaJanela && Environment.OSVersion.Platform == PlatformID.Win32NT)
            {
                ComandoStartNewWindow = "start ";
            }
            else
            {
                ComandoStartNewWindow = "";
            }
            if (!Directory.Exists(script.ScriptDir))
            {
                Directory.CreateDirectory(script.ScriptDir);
                throw new Exception($@"Insert script file in path:\n{script.ScriptDir}");
            }
            using (Process process = new Process())
            {
                process.StartInfo.UseShellExecute        = false;
                process.StartInfo.WorkingDirectory       = script.ScriptDir;
                process.StartInfo.RedirectStandardOutput = true;
                process.StartInfo.RedirectStandardInput  = true;
                process.StartInfo.FileName = FileNameSystem;

                process.StartInfo.CreateNoWindow = !CriarNovaJanela;

                process.Start();
                ProcessID = process.Id;
                string ProcPar = $@"{ComandoStartNewWindow}{PathClient}sqlplus.exe {Credentials} @{script.ScriptName} {script.Parameters}";
                process.StandardInput.WriteLine(ProcPar);
                process.StandardInput.Flush();
                process.StandardInput.Close();

                if (script.Debug)
                {
                    DebugEventParams.Invoke(ProcPar + Environment.NewLine);
                }
                while (!process.StandardOutput.EndOfStream)
                {
                    DebugEventParams.Invoke(process.StandardOutput.ReadLine() + Environment.NewLine);
                }
                process.WaitForExit();
            }
        }