예제 #1
0
        static void ExecuteJob(JobSettings job)
        {
            WriteDivider();
            Console.WriteLine("Выполнение задания: {0} [{1}] dataKey=\"{2}\"", job.Name, job.Type.ToString(), job.DataKey);
            WriteDivider();
            var srcSC = ConfigurationManager.ConnectionStrings[job.Source];
            var dstSC = ConfigurationManager.ConnectionStrings[job.Target];

            if (srcSC == null)
            {
                Console.WriteLine("Не найдена строка подключения {0}", job.Source);
                WriteDivider();
                return;
            }
            if (dstSC == null)
            {
                Console.WriteLine("Не найдена строка подключения {0}", job.Target);
                WriteDivider();
                return;
            }
            Console.WriteLine("Источник:\t{0} [{1}]", job.Source, srcSC.ConnectionString);
            Console.WriteLine("Назначение:\t{0} [{1}]", job.Target, dstSC.ConnectionString);
            if (job.Type == JobType.Journal)
            {
                Console.WriteLine("Префикс источника:\t{0}", job.SourceProcedurePrefix);
                Console.WriteLine("Префикс приемника:\t{0}", job.TargetProcedurePrefix);
                Console.WriteLine("Задание запущено:\t{0}", DateTime.Now.ToLongTimeString());
                (new SqlTransfer(job, srcSC.ConnectionString, dstSC.ConnectionString)).Run();
                Console.WriteLine("Задание завершено:\t{0}", DateTime.Now.ToLongTimeString());
            }
            else if (job.Type == JobType.Start)
            {
                // Остатки на начало
                Console.WriteLine("Префикс источника:\t{0}", job.SourceProcedurePrefix);
                Console.WriteLine("Префикс приемника:\t{0}", job.TargetProcedurePrefix);
                Console.WriteLine("Задание запущено:\t{0}", DateTime.Now.ToLongTimeString());
                (new SqlTransfer(job, srcSC.ConnectionString, dstSC.ConnectionString)).RunStart();
                Console.WriteLine("Задание завершено:\t{0}", DateTime.Now.ToLongTimeString());
            }
            else if (job.Type == JobType.Catalog)
            {
                // Каталоги
                Console.WriteLine("Префикс источника:\t{0}", job.SourceProcedurePrefix);
                Console.WriteLine("Префикс приемника:\t{0}", job.TargetProcedurePrefix);
                Console.WriteLine("Задание запущено:\t{0}", DateTime.Now.ToLongTimeString());
                (new SqlCatalogTransfer(job, srcSC.ConnectionString, dstSC.ConnectionString)).Run();
                Console.WriteLine("Задание завершено:\t{0}", DateTime.Now.ToLongTimeString());
            }
            else if (job.Type == JobType.Document)
            {
                // Каталоги
                Console.WriteLine("Префикс источника:\t{0}", job.SourceProcedurePrefix);
                Console.WriteLine("Префикс приемника:\t{0}", job.TargetProcedurePrefix);
                Console.WriteLine("Использовать GUID:\t{0}", job.UseGuid);
                Console.WriteLine("Задание запущено:\t{0}", DateTime.Now.ToLongTimeString());
                (new SqlDocumentTransfer(job, srcSC.ConnectionString, dstSC.ConnectionString)).Run();
                Console.WriteLine("Задание завершено:\t{0}", DateTime.Now.ToLongTimeString());
            }
        }
예제 #2
0
 public SqlCatalogTransfer(JobSettings job, String connSrc, String connTrg)
 {
     _sourceConnStr   = connSrc;
     _targetConnStr   = connTrg;
     _sourceProcedure = job.SourceProcedurePrefix;
     _targetProcedure = job.TargetProcedurePrefix;
     _key             = job.DataKey;
 }
예제 #3
0
 public SqlDocumentTransfer(JobSettings job, String connSrc, String connTrg)
 {
     _sourceConnStr   = connSrc;
     _targetConnStr   = connTrg;
     _sourceProcedure = job.SourceProcedurePrefix;
     _targetProcedure = job.TargetProcedurePrefix;
     _key             = job.DataKey;
     _useGuid         = job.UseGuid;
 }