Esempio n. 1
0
        public string CreateTables(TransferRequest connect)
        {
            ISourceServer source = SourceFactory.Instance[connect.SourceDB];
            ITargetServer target = TargetFactory.Instance[connect.TargetDB];

            source.Connect      = connect.Connection;
            target.DatabaseInfo = source.CreateDatabaseInfo();

            string sql = target.CreateSql();

            string tempPath = DateTime.Now.ToString("yyyyMMdd");

            string fileName = $"{connect.SourceDB}2{connect.TargetDB}_{DateTime.Now:HHmmss}.sql";

            string dir = Path.Combine(AppConfiguration.Instance.SqlFilePath, tempPath);

            if (!Directory.Exists(dir))
            {
                Directory.CreateDirectory(dir);
            }

            string path = Path.Combine(AppConfiguration.Instance.SqlFilePath, tempPath, fileName);

            using (StreamWriter sw = new StreamWriter(path))
            {
                sw.Write(sql);
            }

            return(path);
        }
Esempio n. 2
0
        private static void RetrieveAndReportUpdates(IReportSink sink, ITargetServer targetServer)
        {
            var wmiNamespace = string.Format("\\\\{0}\\root\\CIMV2", targetServer.ServerName);
            var searcher     = new ManagementObjectSearcher(wmiNamespace, "select * from Win32_QuickFixEngineering");

            searcher.Options.UseAmendedQualifiers = true;
            searcher.Scope.Options.Locale         = "MS_" + CultureInfo.CurrentCulture.LCID.ToString("X");
            ManagementObjectCollection results = searcher.Get();

            foreach (ManagementObject item in results)
            {
                sink.WriteLine("{0, -14}\t{1, -12}\t{2}", item["HotFixID"].ToString(), item["InstalledOn"].ToString(),
                               item["Caption"].ToString());
            }
        }