public ExportConfiguration GetFromXml() { var x = new XmlSerializer(typeof(ExportConfiguration)); try { using (var objStreamReader = new StreamReader(string.Format("{0}\\ExportConfiguration.xml", ConfigPath))) { var myY = (ExportConfiguration)x.Deserialize(objStreamReader); ConfigPath = myY.ConfigPath; DataPath = myY.DataPath; ScriptPath = myY.ScriptPath; DatabaseConfigurationListPath = myY.DatabaseConfigurationListPath; TargetDatabaseName = myY.TargetDatabaseName; } } catch (Exception e) { ExportConfiguration myExportConfig = new ExportConfiguration(); var path = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location); myExportConfig.ConfigPath = $"{path}\\config\\"; myExportConfig.ScriptPath = $"{path}\\script\\"; myExportConfig.DataPath = $"{path}\\data\\"; myExportConfig.DatabaseConfigurationListPath = $"{path}\\config\\"; EnsurePathExists(myExportConfig.ConfigPath); EnsurePathExists(myExportConfig.DataPath); EnsurePathExists(myExportConfig.ScriptPath); EnsurePathExists(myExportConfig.DatabaseConfigurationListPath); myExportConfig.SaveXml(); Console.WriteLine("{0} Exception caught.", e); } return(this); }
static void Main(string[] args) { var myExportConfig = new ExportConfiguration(); var path = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location); myExportConfig.ConfigPath = $"{path}\\config\\"; myExportConfig.GetFromXml(); Console.WriteLine(" **** "); Console.WriteLine(" **** "); Console.WriteLine(" **** "); Console.WriteLine(string.Format(" **** Configuration Path: {0}", myExportConfig.ConfigPath)); Console.WriteLine(string.Format(" **** Data Path: {0}", myExportConfig.DataPath)); Console.WriteLine(string.Format(" **** Script Path: {0}", myExportConfig.ScriptPath)); Console.WriteLine(string.Format(" **** Configuration List: {0}", myExportConfig.DatabaseConfigurationListPath)); Console.WriteLine(" **** "); Console.WriteLine(" **** "); Console.WriteLine(" **** "); EnsurePathExists(myExportConfig.ConfigPath); EnsurePathExists(myExportConfig.DataPath); EnsurePathExists(myExportConfig.ScriptPath); EnsurePathExists(myExportConfig.DatabaseConfigurationListPath); var myConfigList = new SiteConfigurationCollection() { DataFolderPath = myExportConfig.DatabaseConfigurationListPath }; myConfigList.GetFromXml(); Export.ProcessExtractSql(myConfigList, myExportConfig); Console.ReadKey(); }
public static string ProcessExtractSql(SiteConfigurationCollection mySiteList, ExportConfiguration myExportConfig) { var Response = new StringBuilder(); var Sql = string.Empty; var Dt = new DataTable(); var Message = string.Empty; var ext = new List <string> { ".sql" }; IEnumerable <string> mySQLFiles; IEnumerable <string> allSQLFiles; try { allSQLFiles = Directory.GetFiles(myExportConfig.ScriptPath).ToList(); mySQLFiles = Directory.GetFiles(myExportConfig.ScriptPath, "*.*", SearchOption.AllDirectories).Where(s => ext.Any(e => s.EndsWith(e))).ToList(); foreach (DbConfiguration mySite in mySiteList) { foreach (string myFile in mySQLFiles) { try { var myStopWatch = new Stopwatch(); myStopWatch.Start(); Sql = File.ReadAllText(myFile); Dt = GetDataTable(Sql, mySite.ConnectionString); var SiteDataFolder = myExportConfig.DataPath; if (!Directory.Exists(SiteDataFolder)) { Directory.CreateDirectory(SiteDataFolder); } var SiteFileName = string.Format("{0}\\{1}-{2}.txt", SiteDataFolder, mySite.SiteName, myFile.Replace(myExportConfig.ScriptPath, string.Empty).Replace(".sql", string.Empty)); SiteFileName = string.Format("{0}\\{1}.csv", SiteDataFolder, myFile.Replace(myExportConfig.ScriptPath, string.Empty).Replace(".sql", string.Empty)); using (var writer = new StreamWriter(SiteFileName, false)) { WriteDataTableCsv(Dt, writer, true); } myStopWatch.Stop(); Message = string.Format("{1} - {0} time:{2}", myFile.Replace(myExportConfig.ScriptPath, string.Empty), mySite.SiteName, myStopWatch.ElapsedMilliseconds); Response.AppendLine(Message); Console.WriteLine(Message); } catch (Exception e) { Console.WriteLine("{0} Exception caught.", e); } } } } catch (Exception e) { Console.WriteLine("{0} Exception caught.", e); } return(Response.ToString()); }